【发布时间】:2014-11-20 11:01:27
【问题描述】:
如何创建从实体管理器获得的附加对象的分离副本?
我不想分离原始对象,我想创建它的副本,同时确保对复制对象的更改不会影响数据库。
我需要复制附加的对象,因为它包含尚未写入数据库的更改。
之后我想继续并使用附加的对象(并进行更多更改)。
【问题讨论】:
标签: java hibernate jpa eclipselink
如何创建从实体管理器获得的附加对象的分离副本?
我不想分离原始对象,我想创建它的副本,同时确保对复制对象的更改不会影响数据库。
我需要复制附加的对象,因为它包含尚未写入数据库的更改。
之后我想继续并使用附加的对象(并进行更多更改)。
【问题讨论】:
标签: java hibernate jpa eclipselink
没有对此进行测试,因此不能保证它会起作用,但您可以尝试这样的事情(em.detach() 自 JPA 2.0 起可用)
MyEntity m1 = em.find(MyEntity.class, 1);
em.detach(m1);
MyEntity m2 = em.find(MyEntity.class, 1);
m2 应该附加,而m1 保持分离。
【讨论】: