我有一个“节日”实体,它与“商人”(多对一)有关,而商人与“类别”(多对一)有关。
在我的一个页面中,我加载了所有类别,然后得到了它的商家列表,在用户选择了最喜欢的商家之后,我就加载了商家节日列表。最后,当用户删除我使用的最喜欢的节日时: em.remove()
但是被删除的节日仍然存在于商人的节日列表中,也存在于category.merchantList(n).festival(m)中!
因此,当我重新加载页面时,我发现已删除的节日,而它不再在数据库中!
那么我应该如何更新商家和类别实体呢?!
发布于 2015-04-06 01:11:58
对于双向实体关系,您需要维护关系的双方。这意味着您需要从包含它的集合中删除festival
(在您的例子中是merchant.festivals
)。
当只涉及两个实体时,这是一项简单的任务。在更复杂的模型中,在更改/删除某个实体后,可以更容易地刷新数据库中的所有相关数据。这是因为em.remove()
会将delete
语句发送到数据库中,从而导致删除行,但它需要与实体管理器缓存中已经加载的实体同步。
https://stackoverflow.com/questions/29468270
复制相似问题