Я пытаюсь удалить родителя, но получаю нарушение внешнего ключа. Если я помещаю Cascade.ALL в родительский объект, он также удаляет дочерние элементы. И теперь это то, что я хочу.
У меня есть родительский класс: Docteur
//bi-directional many-to-one association to Patient
@OneToMany(cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.DETACH}, orphanRemoval=false, mappedBy="docteur")
private List patients;
и мои дети: пациент
Я положил это
@ManyToOne()
private Docteur docteur;
но в моем случае у пациента только один доктор.
В моем классе менеджера. Я пробую много вещей, которые не сработали
вот моя последняя версия
Clinique clinique = read(clinique_ID);
Docteur docteur = entityManager.createNamedQuery("getDocteur", Docteur.class).setParameter("clinique_ID", clinique_ID).setParameter("docteur_ID", docteur_ID).getSingleResult();
clinique.getDocteurs().remove(docteur);
entityManager.merge(clinique);
entityManager.persist(clinique);
Вот ошибка, которую я получаю:
Невозможно удалить или обновить родительскую строку: сбой ограничения внешнего ключа (jerabi_asteriskdb/Patient
, CONSTRAINT FK340C82E5A10F077E
FOREIGN KEY (docteur_DOCTEUR_ID
) ССЫЛКИ Docteur
(DOCTEUR_ID
))