JPA - PersistenceUtil.isLoaded - 它在哪个EntityManager中加载?

时间:2013-04-29 06:21:41

标签: java sql hibernate java-ee jpa

问题
通过查看哪个EntityManager或它是L2 Cache来评估PersistenceUtil.isLoaded?在所有实体仅由其中一个加载之后。

PersistenceUtil.isLoaded方法定义说:
确定实体的加载状态。此方法可用于确定作为引用传递的实体的加载状态。”但是没有提到加载在哪里?

2 个答案:

答案 0 :(得分:1)

JPA中的实体附加到实体管理器,并且有管道可以帮助您实现这一点 - 请参阅f.e.仅clear()中的contains()merge()EntityManager

通常,实体会附加到创建它们的EntityManager。混合来自不同EntityManager s。

的实体并不是一个好主意

答案 1 :(得分:1)

我已经通过此接口的实现检查了source code。看起来isLoaded正在遍历所有已定义的持久性提供程序,并检查实体是否附加到其中任何一个。

因此,您无法知道您的实体绑定到哪个EntityManager。