什么是Hibernate中的延迟加载?什么是Java中的延迟加载?我不明白这个过程。任何人都可以帮我理解延迟加载的过程吗?
3 回答

慕后森
TA贡献1802条经验 获得超5个赞
假设您有父母,并且该父母有一个孩子的集合。Hibernate现在可以“延迟加载”子进程,这意味着它在加载父进程时实际上并没有加载所有子进程。相反,它会在请求时加载它们。你可以明确地请求它,或者这更常见,当你试图访问一个孩子时,hibernate会自动加载它们。
延迟加载可以帮助显着提高性能,因为通常您不需要孩子,因此不会加载它们。
还要注意n + 1问题。当您访问集合时,Hibernate实际上不会加载所有子节点。相反,它将单独加载每个孩子。迭代集合时,会导致查询每个子集。为了避免这种情况,您可以通过调用parent.getChildren()。size()来欺骗hibernate同时加载所有子节点。
添加回答
举报
0/150
提交
取消