Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我在一个对象上调用 merge() 时,该对象不会成为托管对象。而是返回对同一实体的托管实例的引用。这背后的逻辑是什么?有没有办法通过一些设置来改变这种行为(并使对象被管理)?我正在使用 OpenJPA 2.2。谢谢你。
关键是 merge() 没有将对象附加到 EntityManager 上下文,它正在返回附加对象。所以,如果我们有:
AEntity a2 = entityManager.merge(a1);
a1 仍然不受管理,而 a2 是受管理的。
顺便说一句,这是一种聪明的方法,因为合并不会引起副作用,传递的对象状态不会改变。