在以下示例中,如果您想将该人从公司中移除,这意味着什么?
class Company {
@OneToMany(mappedBy = "company");
List<Person> persons;
}
class Person {
Company company;
}
我的意思是,其中的人员列表Company
总是懒惰的。删除一个人(从数据库中)是否意味着只删除该人实体(例如通过 ID),而不必更改persons
所属公司列表中的任何内容?
您必须从中删除人员persons
并保存公司对象。
company.getPersons().remove(person);
orphanRemoval
如果在保存公司对象后应自动从数据库中删除人员对象,则设置该标志。有关更多详细信息,请参阅文档。
/edit:由于您使用 Hibernate 标记了问题,因此all-delete-orphan级联选项可能会对您有所帮助。