У меня есть две таблицы, связанные внешним ключом с отношением один ко многим.
В сущности А у меня есть следующее:
@org.hibernate.annotations.Cascade( {
org.hibernate.annotations.CascadeType.ALL,
org.hibernate.annotations.CascadeType.DELETE_ORPHAN })
@OneToMany(mappedBy="monitoredFlight", fetch = FetchType.LAZY)
@OnDelete(action=OnDeleteAction.CASCADE)
private List<bTable> BTable = new ArrayList<BTable>();
Теперь я пытаюсь удалить из таблицы A запросом массового удаления:
Query query = em.createQuery("delete from A where originDateTime<:date");
и я получаю ошибку ограничения внешнего ключа. Я решил сделать удаление с помощью соединения, как в MySQL, поэтому я изменил его на:
Query query = em.createQuery("delete from A join BTable where originDateTime<:date");
и я получил синтаксическую ошибку. Я пробовал несколько комбинаций с или без соединения и ничего не работает; есть идеи?
Я использую mysql для базы данных и java для языка.