gpt4 book ai didi

JPA EntityManager 为什么merge() 不管理实例?

转载 作者:行者123 更新时间:2023-12-03 11:59:00 25 4
gpt4 key购买 nike

当我对一个对象调用 merge() 时,该对象不会被管理。而是返回对同一实体的托管实例的引用。这背后的逻辑是什么?有没有办法通过一些设置来改变这种行为(并管理对象)?我正在使用 OpenJPA 2.2。谢谢你。

最佳答案

关键是 merge() 没有将对象附加到 EntityManager 上下文,它正在返回附加的对象。所以,如果我们有:

AEntity a2 = entityManager.merge(a1);

a1 保持未托管状态,而 a2 处于托管状态。

顺便说一下,这是一种聪明的方法,因为合并不会引起副作用,传递的对象状态不会改变。

关于JPA EntityManager 为什么merge() 不管理实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10644635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com