我正在使用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已经在上一步中被删除)但结果是两个员工仍然在那里。
我尝试在删除后刷新实体管理器:同样的事情。
答案 0 :(得分:0)
根据JPA标准的要求,如果PERSIST
操作应用/级联到已删除的实体,Hibernate将unschedule删除。
确保从所有其他管理实体实例中删除对已删除实体的所有引用。