加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Hibernate.initialize()如何工作

发布时间:2020-12-14 16:34:31 所属栏目:Java 来源:网络整理
导读:我知道在session之外使用lazily装载对象/ colletions,我们做Hibernate.initialize(Object obj),以便将作为参数传递给initialize()方法的对象被初始化,并且可以在会话范围之外使用. 但是我不能理解这是如何工作的.我的意思是,如果我们在做,那么我们最终会急于
我知道在session之外使用lazily装载对象/ colletions,我们做Hibernate.initialize(Object obj),以便将作为参数传递给initialize()方法的对象被初始化,并且可以在会话范围之外使用.

但是我不能理解这是如何工作的.我的意思是,如果我们在做,那么我们最终会急于提取,所以为什么我们在配置中懒惰,最后在运行时渴望获取.

换句话说,我想知道使用Hibernate.initialize()和热切地加载该对象之间的区别.

我错了还是错过了什么?

解决方法

区别在于适用范围.

使收集关联懒惰的原因是避免在每次父对象加载时加载集合,如果您不需要它.

如果您正在懒惰加载集合,但对于特定用途,您需要确保在会话关闭之前已经加载集合,您可以使用Hibernate.initialize(Object obj),如您所指定的.

如果你其实总是需要加载这个集合,你应该真的加载它.在大多数软件中,情况并非如此.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读