您的映射应如下所示:
public class Parent { @oneToMany(mappedBy = parent, cascade = CasacadeType.ALL, orphanRemoval = true) private Set<Child> children = new HashSet<>(); public void removeChild(Child child) { children.remove(child); child.setParent(null); }}public class Child { @ManyToOne private Parent parent;}
如本文所述,由于您具有双向关联,因此必须使双方同步。
因此,最好的做法是致电:
parent.removeChild(child);
这样一来,
removeChild是要删除
Child从
children
Set,并设定了
Child
parent协会
null。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)