我試圖刪除父母,但我不斷收到一個外鍵違規。如果我將Cascade.ALL放在父級中,它也會刪除這些孩子。現在它是我想要的。JPA如何刪除沒有刪除孩子的父母?
我有我的父類:法學博士
//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;
但對我來說,患者choul只有一個法學博士。
在我的經理類。我嘗試很多東西,沒有工作
我在這裏的最新版本
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
,約束FK340C82E5A10F077E
外鍵(docteur_DOCTEUR_ID
)參考文獻Docteur
(DOCTEUR_ID
))
它是如何在JPA 2.0中這樣做的問題。簡單的SQL會很容易。 – 2011-03-13 22:21:25