问题描述
||
想象一下,我有一个由许多其他实体引用的休眠实体。现在,我创建一个新实体,并希望新实体取代旧实体,以便其他实体代替旧实体引用它。
做这个的最好方式是什么?
解决方法
最简单的方法是在引用实体上使用update语句,例如:
update ReferringEntity re set re.entity.id = :newId where re.entity.id = :oldId
,我认为您应该对原始实体进行深复制(无论您采用哪种方式)都将state属性设置为delete,并使其休眠以更新该实体。然后对复制的实体进行任何修改,并使其休眠以保存该实体。结果是原始实体将被删除,复制后的实体将被添加为带有原始引用的新实体。