Hibernate成员删除在事务中没有进一步看到

时间:2014-10-22 13:02:53

标签: hibernate transactions jta

我正在使用Hibernate和JTA(容器管理事务)。

假设我有以下模型:与Office和Team具有多对一关系的员工。我已经建立了双向关联。

class Employee{
   Office office;
   Team team;
}

class Office{
   List<Employee> employees;
}

class Team{
   List<Employee> employees;
}

现在数据:

Empc 1与OFc 1和Team 1

Emp 2与Ofc 1和Team 2

问题: 我迭代Team 1员工(即emp 1)并删除它们。 然后在同一个事务中我执行HQL select to获取Ofc 1.现在在Ofc 1员工列表中我希望找到emp 2(因为emp 1已经在上一步中被删除)但结果是两个员工仍然在那里。

我尝试在删除后刷新实体管理器:同样的事情。

1 个答案:

答案 0 :(得分:0)

根据JPA标准的要求,如果PERSIST操作应用/级联到已删除的实体,Hibernate将unschedule删除。

确保从所有其他管理实体实例中删除对已删除实体的所有引用。