0

在以下示例中,如果您想将该人从公司中移除,这意味着什么?

class Company {
    @OneToMany(mappedBy = "company");
    List<Person> persons;
}

class Person {
    Company company;
}

我的意思是,其中的人员列表Company总是懒惰的。删除一个人(从数据库中)是否意味着只删除该人实体(例如通过 ID),而不必更改persons所属公司列表中的任何内容?

4

1 回答 1

2

您必须从中删除人员persons并保存公司对象。

company.getPersons().remove(person);

orphanRemoval如果在保存公司对象后应自动从数据库中删除人员对象,则设置该标志。有关更多详细信息,请参阅文档

/edit:由于您使用 Hibernate 标记了问题,因此all-delete-orphan级联选项可能会对您有所帮助。

于 2013-10-27T21:27:07.790 回答