我使用实体雇员,在定义了UserMaster列表的内部
public class EmployeeMaster{
private String employee_id;
private String first_name;
private String last_name;
private List<UserMaster> userMaster = new ArrayList<UserMaster>();
@OneToMany(fetch = FetchType.LAZY, mappedBy = "employeeMaster")
@Cascade(value = {CascadeType.SAVE_UPDATE,CascadeType.DELETE_ORPHAN})
public List<UserMaster> getUserMaster() {
return userMaster;
}
public void setUserMaster(List<UserMaster> userMaster) {
this.userMaster = userMaster;
}
}用我的方法打电话
xsession.saveOrUpdate(employeeMaster);在这里,我显式地清除以前的子集合并添加新的子对象
但是删除孤儿不在这里工作。只有insert查询正在运行Pls帮助
拥有实体不再引用带有cascade=的“所有删除-孤儿”的集合。
消息显示在控制台中。
发布于 2011-02-08 09:47:31
看起来,您用setUserMaster()替换了包含在加载实体中的集合。
使用DELETE_ORPHAN配置集合时,不能以这种方式替换集合,需要使用自己的方法修改现有集合。
https://stackoverflow.com/questions/4930508
复制相似问题