实体经理的删除子女不会将子女与父母分离

时间:2014-06-30 16:47:37

标签: hibernate spring-mvc jpa

我在这个父实体中有一个父实体和一对多引用Set<Child> ... 使用实体经理(在我的DAO中注明为“em”)删除em.delete(child)并不删除我父母列表中的引用...

在调试parent.getChildren()之后,我仍然可以找到已在父级子列表中删除的子项...

我如何将这个孩子从父母的名单中分离出来?

1 个答案:

答案 0 :(得分:0)

这是预期的。删除实体只会将其标记为已删除,并导致下一次刷新删除数据库中的相应行。如果您打开一个新会话并重新加载父实体,则该子项将不再位于该组中。如果您希望立即将孩子从集合中移除,那么您有责任这样做:

parent.getChildren().remove(child);