只引用hibernate实体如何在hibernate代理下解包pojo? 我试图愚弄hibernate并使一些对象修改对框架不可见。
答案 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),这至少可以用于启发目的。