Seam hibernate删除孤儿问题

时间:2011-02-08 07:15:09

标签: hibernate seam hibernate-mapping seam2

我使用实体Employee,并在其中定义了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);

这里我明确清除以前的子集合并添加新的子对象

但删除孤儿在这里不起作用.. 只有插入查询正在运行Pls Help

  

cascade =“all-delete-orphan”的集合        不再由拥有实体引用

消息显示在控制台中

1 个答案:

答案 0 :(得分:2)

看起来您用setUserMaster()替换了加载实体中包含的集合。

使用DELETE_ORPHAN配置集合时,无法以这种方式替换集合,您需要使用自己的方法修改现有集合。