打开休眠实体

时间:2013-10-29 22:59:45

标签: hibernate

只引用hibernate实体如何在hibernate代理下解包pojo? 我试图愚弄hibernate并使一些对象修改对框架不可见。

1 个答案:

答案 0 :(得分:0)

不确定为什么有人这样做。

但是如果你想在没有持久化的情况下更新对象,只需确保它是分离的或瞬态的。 有关可能的对象状态,请参阅official docs

实际上你可以明确分离。

在JPA:

EntityManager em;
...
em.detach(entity);
// now modify your entity fields without letting hibernate persistent the changes

有关详细信息,请参阅:JPA Explicit detach

<强>更新

或者,JBoss的人似乎有可插入的实现来决定对象是否是脏的:org.hibernate.CustomEntityDirtinessStrategy。如果您不在JBoss或特定版本(似乎适用于7.1.2),这至少可以用于启发目的。