【发布时间】:2014-09-15 04:18:09
【问题描述】:
我想知道调用方法PersistenceUnitUtil#isLoaded(Object)的原因是什么。
JPA Documentation 说它可以帮助确定属于持久性单元的实体的负载状态,但它也提到了
一个实体被认为是加载的,如果它的所有属性 已指定 FetchType.EAGER 已加载。
那么,有没有FetchType.EAGER 的所有属性都没有被加载的情况?这些是什么?我只确定它适用于EntityManager#getReference() 方法返回的实体。还有更多吗?
【问题讨论】:
-
我想它可能在多线程环境的某些边缘情况下很有用。
-
我一直认为它是为了补充 getReference 与 find 方法的使用。 getReference 允许返回只有 pk 集的未获取实体。 isLoaded 会告诉你实体是否已经被获取。
标签: java hibernate jpa eclipselink jpa-2.0