我想将我的应用程序从纯Hibernate切换到JPA 2.0。如果新实体被持久化,应用程序使用Spring实现的IdTransferringMergeEventListener将新生成的数据库ID放回实体引用。因此,听取了hibernate“merge”事件。
我的问题:
使用JPA 2.0 EntityManager(我们正在使用JPA的Hibernate实现)时,有没有办法做到这一点?
使用JPA时,这样的测试用例应该有效:
Entity myNewEntity = new Entity();
entityManager.merge(myNewEntity);
assertNotNull(myNewEntity.getId());
有大量已经存在的代码,因此不能将代码更改为此选项(可行):
Entity myNewEntity = new Entity();
myNewEntity = entityManager.merge(myNewEntity);
assertNotNull(myNewEntity.getId());
有没有人可以提供一些提示或提示?任何帮助都非常感谢。 谢谢,克里斯