tangguo

Hibernate中的延迟加载是什么?

java

什么是Java的延迟加载?我不明白这个过程。有人可以帮助我了解延迟加载的过程吗?


阅读 286

收藏
2020-11-20

共1个答案

小编典典

假设您有一个父母,而那个父母有很多孩子。Hibernate现在可以“延迟加载”子级,这意味着它在加载父级时实际上并不会加载所有子级。而是在要求时加载它们。您可以显式地请求此请求,或者,更常见的是,当您尝试访问孩子时,hibernate会自动加载它们。

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

还要提防n + 1问题。当您访问集合时,Hibernate实际上不会加载所有子代。相反,它将单独加载每个孩子。遍历集合时,这将导致每个孩子的查询。为了避免这种情况,您可以诱使休眠模式同时加载所有子级,例如,通过调用parent.getChildren()。size()。

2020-11-20