Ответ 1
Почему следующий запрос завершился с ошибкой из-за ограничения внешнего ключа?
Похоже, что ваш массовый запрос удаления не удаляет записи из таблицы коллекций, а значит, нарушает ограничение FK.
И хотя спецификация JPA явно пишет, что массовое удаление не привязано к связанным объектам:
4.10 Операции массового обновления и удаления
...
Операция удаления применяется только к объекты указанного класса и его подклассов. Он не каскадирует связанных с ними.
Это не совсем ваше дело, и я думаю, что то, что вы хотите сделать, должно поддерживаться.
Вероятно, вы сталкиваетесь с одним из ограничений удаления Hibernate, например:
- HHH-3337 - Hibernate игнорирует @JoinTable при генерации массива UPDATE/DELETE для самостоятельной сущности
- HHH-1917 - Массовое удаление на стороне владельца отношения ManyToMany должно удалить соответствующие строки из JoinTable
Я предлагаю подняться.
Обходной путь: используйте собственные запросы для удаления таблицы коллекции, а затем таблицы сущностей.