Foreign key no action для связи ManyToMany

Добрый день.

Появилась такая проблема:
Есть три entity со связями:

[First] -< [Second] >-< [Third]
(Первый OneToMany ко второму, второй ManyToMany к третьему)
FK constraint action у второго к первому CASCADE.

Если удалять first объект с связью к second, и, в свою очередь, у second есть несколько привязанных объектов third - то появляется ошибка ( integrity constraint violation: foreign key no action;):
image
В случае, если сначала удалить second, а потом first - все в порядке, проблем нет.

Как нужно настроить проект, для корректного удаления first вышеописанным способом?

Демо проект:
testingjmix.zip (213.5 КБ)

Добрый день!

Я сходу для такого случая решения на каскадах не вижу.

Как вариант, можно попробовать каскады убрать между сущностями и самому явно при удалении помещать в контекст удаления экземеляры first и second. Что-то вроде:

    @Subscribe("customRemoveBtn")
    public void onCustomRemoveBtnClick(final Button.ClickEvent event) {
        First first = firstsTable.getSingleSelected();
        if (first == null) return;

        List<Object> entitiesToRemove = new ArrayList<>();
        entitiesToRemove.add(first);
        entitiesToRemove.addAll(first.getSecond());

        dataManager.remove(entitiesToRemove.toArray());
    }

Добрый день!
Спасибо за ответ, я примерно так и сделал.
Думал, может есть из коробки какое решение для удаления таких связанных объектов (например для связи ManyToMany прописать constraint)