如果您使用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})
是否有更短的解决方案?