如果您经常使用 CascadeType.ALL,则很容易得到以下设计:
@Entity
public class Group {
...
}
@Entity
public class Person {
@ManyToOne(cascade = CascadeType.ALL)
Group group;
...
}
如果要删除该组中的一个人,则告诉 Hibernate 删除整个组...如果该组有其他人,则由于外键约束而失败“无法删除或更新父行:外键约束失败” .
我现在用:
@ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.REFRESH, CascadeType.MERGE, CascadeType.DETACH})
有更短的解决方案吗?