Java中的延迟加载是什么?我不明白这个过程。有人可以帮助我了解延迟加载的过程吗?
假设你有一个父母,而那个父母有很多孩子。Hibernate现在可以“延迟加载”子级,这意味着在加载父级时,它实际上并未加载所有子级。而是在要求时加载它们。你可以显式地请求此请求,也可以是更常见的情况,当你尝试访问孩子时,hibernate会自动加载它们。
延迟加载可以帮助显着提高性能,因为通常你不需要子级,因此不会加载它们。
还要提防n + 1问题。当你访问集合时,Hibernate实际上不会加载所有子代。相反,它将单独加载每个孩子。遍历集合时,这将导致每个孩子的查询。为了避免这种情况,你可以诱使hibernate模式同时加载所有子级,例如,通过调用parent.getChildren()。size()。