Hibernate.initialize 做什么?
通常提到的文档只讲
Hibernate.initialize(entity.lazyCollection)
有什么意义吗
Hibernate.initialize(entity)
Hibernate.initialize 做什么?
通常提到的文档只讲
Hibernate.initialize(entity.lazyCollection)
有什么意义吗
Hibernate.initialize(entity)
如果实体具有延迟初始化的字段,例如一些大型 BLOB 或 CLOB 数据或延迟的一对一关联,我会说是。见 20.1.8。在前者的文档和后者的 20.1.3 文档中。
也可以看看:
20.1.4。初始化集合和代理
我同意 Alan Hay 的观点,这是我的经验,我在运行 JUNit 测试时遇到了这个问题,当尝试在另一个会话中加载对象时,一些惰性对象没有加载。我不得不调用 Hibernate.initialize(Object) 将惰性对象加载到内存中。
Hibernate 在某些情况下会返回代理对象,例如惰性集合或 Session.load() 等。因此,如果您有代理对象并且想要真正的代理对象,则可以手动初始化它。
很快 Hibernate.initialize() 创建另一个查询来获取持久性上下文中的对象。当对象被急切加载时,JPA 只进行一次查询来获取对象。所以另一个区别是对服务器的电话号码
另外: 1. 如果对象为空 Hibernate.initialize() 抛出异常 2. 如何初始化惰性关联的好来源http://www.thoughts-on-java.org/5-ways-to-initialize-lazy-关系和何时使用它们/