有没有办法强制hibernate更新实体中的映射集?

时间:2011-12-12 19:55:27

标签: database hibernate

我在我的实体中映射了以下内容:

@OneToMany(mappedBy="categoryScheme")
private Set<RolePlayerCategorySchemeRel> rolePlayerCategorySchemeRelationshipsAsSet = new HashSet<RolePlayerCategorySchemeRel>();
@OneToMany(mappedBy="parentCategoryScheme")
private Set<CategoryScheme> childCategorySchemesAsSet = new HashSet<CategoryScheme>();

这些集是基于ID的实体的子集。我正在更改此实体的ID,这应该会让孩子设置更改,但它们不会。这是因为Hibernate不会出于某种原因返回数据库并更新集合。

所以,问题是:有没有办法强制Hibernate从数据库更新/刷新这些集合?

谢谢, 戴尔

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题&amp;来到这里寻找答案,但没有找到答案。

然而,我终于解决了我的问题。我将我的Set映射的'inverse'参数设置为'true',并且行为类似于您在上面描述的内容;将其改为'false'纠正了问题。从我在其中一本手册中可以看到,关系是错误的关系的一方最终控制了更新行为。

希望这会对你有所帮助。