2012-02-02 43 views
0

我从A到B有一个OneToMany关系(A引用列表Bs)。JPA在删除它们之后仍然会找到实体

当我使用entityManager.remove(b)a.getBs().remove(b)或两者同时删除B并再次加载A时:删除的B仍然会出现在列表中尽管它已从数据库中有效地删除!我试过有没有Cascade.ALL就没有成功的关系..

感谢您的帮助。

+0

你能告诉我们你的映射(注释)吗? – 2012-02-02 01:36:56

回答

1

你需要做两个(除非你使用删除孤儿)。如果你这样做,它应该消失。确保你从正确的托管a中删除它,而不是分离的a。确保a实际上包含b开头。

您可以随时调用refresh()来确认数据库状态是否正确。

+0

谢谢,我选择了'删除孤儿'解决方案,它很好地工作。 – kgautron 2012-02-19 23:08:03