java - PersistenceUtil.isLoaded 是什么意思?

标签 java hibernate jpa-2.0

有人可以解释一下 PersistenceUtil.isLoaded 在 JPA 和 hibernate 的上下文中返回什么吗? 我的印象是,它确定该值是否已加载并且可以在无需访问数据库的情况下进行访问。但最近我遇到了一个情况,PesistenceUtil.isLoaded 返回 true,而该对象是 HibernateProxy 的实例,对它的任何访问都会抛出一个 LIE。 如果有任何意见,我将不胜感激。

最佳答案

PersistenceUtil 中的 isLoaded 方法检查实体是否已加载。正在加载的实体意味着所有急切属性都是从数据库加载或由应用程序分配的。在 JPA 2.0 规范中,这是用以下文字来说明的:

An entity is considered to be loaded if all attributes with FetchType.EAGER—whether explictly specified or by default—(including relationship and other collection-valued attributes) have been loaded from the database or assigned by the application. Attributes with FetchType.LAZY may or may not have been loaded.

详细说明请参阅JPA 2.0规范,3.2.9加载状态

关于java - PersistenceUtil.isLoaded 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10437552/

相关文章:

java - 在 Eclipse 中显示命名查询建议/警告

java.lang.NullPointerException : null entities are not supported by org. hibernate.event.def.EventCache

java - 通过单个查询获取最小和最大列值

java - JPA 类型的搜索查询

java - JPA2 一对多空联接表

java - 如何在 Java 中比较字符串?

java - Hadoop 选项没有任何效果(mapreduce.input.lineinputformat.linespermap、mapred.max.map.failures.percent)

java - 如何在使用 Hibernate 时删除 Ehcache WARN 消息

java - 使用 Java 7 或 Java 6 生成随机 UUID 的性能

java - Java 中的计数和终止字符串