我相信只有两种使用Hibernate加载对象的方式,那就是延迟加载,一种是急切加载。延迟加载有其自身的优势,它不会加载大量对象,而只会在您需要它们时加载。我也了解到,如果你想强制加载一个对象的所有孩子,你可以简单地调用parent.getChildren().size()
。所以我们可以说,我们有以下对象什么时候在休眠时使用Lazy加载/ Eager加载?
@Entity
public class Customer{
public Set<Order> order;
}
@Entity
public class Order{
}
假设我们有谁在我们的系统中有订单的客户,它可能是多个甚至可以为null。所以我的问题是,在这种情况下总是使用急切加载不是更好吗?我们需要与客户相关的订单的大小或一些信息。在这种情况下使用延迟加载有什么好处,有什么好处吗?
我想了解在哪里使用延迟加载和在哪里使用急切加载,非常感谢您的洞察力。
我完全同意,编写两个单独的查询比使用lazy/eager loading要好得多。感谢您的澄清。 –
@hvgotcodes你能解释如何实现点#7吗? –