Я пытаюсь использовать Hibernate для удаления объекта, однако я получаю сообщение об ошибке: Cannot delete or update a parent row: a foreign key constraint fails
Установка состоит в том, что у меня есть абстрактный класс A и два класса (B и C), которые расширяются A. B содержит список C (однонаправленное отношение). И есть функция для удаления A по ее идентификатору.
Примечание: Материал был удален для краткости.
@Entity
public class B extends A {
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
joinColumns = @JoinColumn(name = "B_A_id"),
inverseJoinColumns = @JoinColumn(name = "C_A_id"))
List<C> cList;
}
@Entity
public class C extends A {
(no reference to B)
}
Проблема заключается в том, что когда вызывается deleteAByFixedId, где A является C, он пытается удалить C, прежде чем удаляет B, который ссылается на него, и поэтому я получаю ошибку ограничения внешнего ключа.
Что я делаю неправильно?