1


我注意到 Hibernate 不允许删除一对多关系中的实体。我有两个表(和实体),公司和员工。
我想使用以下代码删除员工:

..
company.getEmployees().remove(myEmployee); //employees is a collection in Company, it is  mapped as a one-to-many relationship (@OneToMany)
sessionFactory.getCurrentSession().merge(company);

您知道如何强制删除吗?或者至少得到一个例外?

4

1 回答 1

2

是的,默认情况下不删除。但是您可以使用orphanRemoval = true 属性@OneToMany映射关系,以便自动删除:

@OneToMany(cascade=CascadeType.ALL, orphanRemoval=true) 
public Set<Employee> getEmployees() { return employees; }
于 2013-04-09T11:15:08.507 回答