我注意到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);
您是否知道如何强行删除?或者至少得到一个例外?
答案 0 :(得分:2)
是的,默认情况下不会被删除。但您可以将@OneToMany
关系映射到orphanRemoval = true attribute,以便自动删除:
@OneToMany(cascade=CascadeType.ALL, orphanRemoval=true)
public Set<Employee> getEmployees() { return employees; }