【问题标题】:Entity manager's delete child is not detaching child from parent实体管理器的删除子项未将子项与父项分离
【发布时间】:2014-06-30 16:47:36
【问题描述】:

我在这个父实体中有一个父实体和Set<Child> 的一对多引用…… 关于使用实体管理器(被注入我的DAO 说“em”)删除em.delete(child) 不会从我父母的列表中删除它的引用......

像调试parent.getChildren()之后,我仍然可以在父母的孩子列表中找到那个被删除的孩子……

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

【问题讨论】:

  • 请分享实体和DAO层的代码。

标签: hibernate spring-mvc jpa


【解决方案1】:

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

parent.getChildren().remove(child);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    • 2017-10-02
    • 1970-01-01
    • 2014-01-18
    • 2023-03-26
    相关资源
    最近更新 更多