在hibernate中更新对实体的引用的最佳方法

时间:2011-05-26 07:55:07

标签: java hibernate

想象一下,我有一个由许多其他实体引用的hibernate实体。现在我创建了一个新的实体,我希望新的实体能够取代旧的实体,所以它被别人引用而不是旧实体。

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

我认为你应该深度复制(你曾经做过这样做)原始实体将state属性设置为删除并使hibernate更新实体。然后对复制的实体进行任何修改,并使hibernate保存此实体。结果将是原始实体将被删除并复制将添加为带有原始引用的新实体。

答案 1 :(得分:0)

最简单的方法是在引用实体上使用更新语句,例如:

update ReferringEntity re set re.entity.id = :newId where re.entity.id = :oldId