Hibernate 在双向一对多映射中设置级联
我刚刚开始冬眠,似乎还不完全了解级联 因此,我有工作和客户类,我想要实现的是:Hibernate 在双向一对多映射中设置级联,hibernate,jpa,Hibernate,Jpa,我刚刚开始冬眠,似乎还不完全了解级联 因此,我有工作和客户类,我想要实现的是: 如果我删除客户机,作业也会被删除 如果我删除了一个作业,客户端不会被删除 我的模型目前看起来像这样: @实体 公共类客户端{ @身份证 @生成值 私人长客户; 私有字符串名称; @OneToMany(cascade=CascadeType.ALL,orphan=true) 私人名单工作; } @实体 公开课工作{ @身份证 @生成值 私人长期工单; 私有字符串标题; @多通(级联=级联类型.ALL) @JoinCo
@实体
公共类客户端{
@身份证
@生成值
私人长客户;
私有字符串名称;
@OneToMany(cascade=CascadeType.ALL,orphan=true)
私人名单工作;
}
@实体
公开课工作{
@身份证
@生成值
私人长期工单;
私有字符串标题;
@多通(级联=级联类型.ALL)
@JoinColumn(name=“客户号”)
私人客户;
//为了简洁起见,省略了getter、setter和一些字段
}
提前感谢您使用
cascade
您可以在实体上进行传递。如果一个实体的状态已更改,则它可以更改关联实体的状态
您可以使用:
@OneToMany(mappedBy=“client”,cascade=CascadeType.REMOVE)//或者您可以将所有操作与CascadeType进行级联。全部
@OneToMany(mappedBy=“client”,orphaneremovation=true)
您应该排除REMOVE的级联类型,显式枚举您需要的级联类型,或者根本不指定
cascade
属性