有人可以解释一下 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/