【发布时间】:2014-05-29 10:33:01
【问题描述】:
我在更新/合并实体 A 时遇到问题,该实体引用了另一个实体 B。 A 还具有对实体 C 的引用。
我从域对象创建实体A 的新实例。同样从这个域对象中,我通过使用entityManager.getReference(<class>, <id>) 来获取B 和C。我打电话给entityManager.merge 和entityManager.flush()。到目前为止一切都很好,B 和C 的值都存在于A 中。当我在刷新后执行entityManager.refresh(A) 时,B 被清除(null),但C 仍然存在。
我运行 sql 查询以验证该值在更新之前是否存在。刷新后,B 的 FK 被清除,因此在调用刷新时它会发现这一点。
我不知道在这里寻找什么。可能与我的实体的定义方式有关吗?持久性-xml?非常感谢任何提示!
编辑:
B 的值只有在我不更改引用的情况下才会被清除。如果我将B 的引用更改为B',那么它会正确更新
【问题讨论】:
标签: entity-framework jpa websphere entitymanager openjpa