您的映射应如下所示:
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。



