我试图删除父母,但我不断收到一个外键违规。如果我将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