我从A到B有一个OneToMany
关系(A引用列表Bs)。JPA在删除它们之后仍然会找到实体
当我使用entityManager.remove(b)
或a.getBs().remove(b)
或两者同时删除B并再次加载A时:删除的B仍然会出现在列表中尽管它已从数据库中有效地删除!我试过有没有Cascade.ALL
就没有成功的关系..
感谢您的帮助。
我从A到B有一个OneToMany
关系(A引用列表Bs)。JPA在删除它们之后仍然会找到实体
当我使用entityManager.remove(b)
或a.getBs().remove(b)
或两者同时删除B并再次加载A时:删除的B仍然会出现在列表中尽管它已从数据库中有效地删除!我试过有没有Cascade.ALL
就没有成功的关系..
感谢您的帮助。
你需要做两个(除非你使用删除孤儿)。如果你这样做,它应该消失。确保你从正确的托管a中删除它,而不是分离的a。确保a实际上包含b开头。
您可以随时调用refresh()来确认数据库状态是否正确。
谢谢,我选择了'删除孤儿'解决方案,它很好地工作。 – kgautron 2012-02-19 23:08:03
你能告诉我们你的映射(注释)吗? – 2012-02-02 01:36:56