我在删除子实体时遇到问题,这给了我以下异常 javax.persistence.EntityNotFoundException:传递给persist的已删除实体:[com.myproj.test.entity.XYZ#]。
父实体:
...
public class ABC implements java.io.Serializable {
...
// it has a @oneToMany relationship with XYZ entity as specified below.
@OneToMany(mappedBy = "abbc", cascade = CascadeType.ALL)
private List<XYZ > xyzs;
}
...
儿童实体: -
...
public class XYZ implements java.io.Serializable {
...
// and this has @manyToOne relation as below
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="ABC_ID")
private ABC abc;
...
}
来自service calss iam通过将实体实例传递给delete来调用delete方法,如下所示。
删除(XYZ xyzs){
for(XYZ xyz :xyzs){
// i have the entityManger instance and calling remove
entityManager..find(XYZ.class, xyz.getXyzId());
entityManger.remove(xyz);
}
}
现在它给了我上面指定的异常。 在这个问题上,任何人都会帮助我。 提前谢谢。
Surendar Reddy。 ķ
答案 0 :(得分:0)
您只需要从父集合中删除XYZ。你有ABC的XYZ列表。 所以对于删除:
它会正常工作