假设您有一个父母,而那个父母有很多孩子。Hibernate现在可以“延迟加载”子级,这意味着它在加载父级时实际上并不会加载所有子级。而是在要求时加载它们。您可以显式地请求此请求,或者,更常见的是,当您尝试访问孩子时,hibernate会自动加载它们。
延迟加载可以帮助显着提高性能,因为通常您不需要子级,因此不会加载它们。
还要提防n + 1问题。当您访问集合时,Hibernate实际上不会加载所有子代。相反,它将单独加载每个孩子。遍历集合时,这将导致每个孩子的查询。为了避免这种情况,您可以诱使休眠模式同时加载所有子级,例如,通过调用parent.getChildren()。size()。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)