为了账号安全,请及时绑定邮箱和手机立即绑定

什么是Hibernate中的延迟加载?

什么是Hibernate中的延迟加载?

梵蒂冈之花 2019-07-31 15:42:15
什么是Hibernate中的延迟加载?什么是Java中的延迟加载?我不明白这个过程。任何人都可以帮我理解延迟加载的过程吗?
查看完整描述

3 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

假设您有父母,并且该父母有一个孩子的集合。Hibernate现在可以“延迟加载”子进程,这意味着它在加载父进程时实际上并没有加载所有子进程。相反,它会在请求时加载它们。你可以明确地请求它,或者这更常见,当你试图访问一个孩子时,hibernate会自动加载它们。

延迟加载可以帮助显着提高性能,因为通常您不需要孩子,因此不会加载它们。

还要注意n + 1问题。当您访问集合时,Hibernate实际上不会加载所有子节点。相反,它将单独加载每个孩子。迭代集合时,会导致查询每个子集。为了避免这种情况,您可以通过调用parent.getChildren()。size()来欺骗hibernate同时加载所有子节点。


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 604 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号