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