tau*_*oge 10 java hibernate jpa
我有两个类,比如Group和Person,它有一个映射在JoinTable中的ManyToMany-Relation.
如果我删除与组有关系的Person,我想从连接表中删除该条目(不删除组本身!).
如何定义级联注释?我没有找到真正有用的文档,但有几个未解决的董事会讨论......
public class Group {
@ManyToMany(
cascade = { javax.persistence.CascadeType.? },
fetch = FetchType.EAGER)
@Cascade({CascadeType.?})
@JoinTable(name = "PERSON_GROUP",
joinColumns = { @JoinColumn(name = "GROUP_ID") },
inverseJoinColumns = { @JoinColumn(name = "PERSON_ID") })
private List<Person> persons;
}
public class Person {
@ManyToMany(
cascade = { javax.persistence.CascadeType.? },
fetch = FetchType.EAGER,
mappedBy = "persons",
targetEntity = Group.class)
@Cascade({CascadeType.?})
private List<Group> group;
}
Run Code Online (Sandbox Code Playgroud)
我相信你想要的是:
cascade = CascadeType.ALL
Run Code Online (Sandbox Code Playgroud)
要删除数据库关系,请从每个组中删除关联。从 Group.persons 集合中删除人员,并从 Person.group 集合中删除 Group,然后保留您的人员对象。