Hibernate 是否有一种情况下,主动加载优于延迟加载?

Hibernate 是否有一种情况下,主动加载优于延迟加载?,hibernate,lazy-loading,Hibernate,Lazy Loading,是否有一种情况下,主动加载比延迟加载更可取?我可以马上想到的一种情况是,每次检索父类时,子类往往都会被访问。是的,当您需要在获取数据后立即使用数据时。大多数“报告”需要大量数据,以便对其进行总结。当你已经知道你需要几乎所有的东西时,为什么要单独取东西呢 通常,导出到数据仓库或其他系统的“提取”将受益于快速加载。在将对象图传递到另一层之前,即使用NHibernate所指的分离实例时,您可能需要完全填充的对象图 延迟加载仅在ISession上下文中有效。使用聚合时,任何子对象通常都会与父对象一起加载

是否有一种情况下,主动加载比延迟加载更可取?

我可以马上想到的一种情况是,每次检索父类时,子类往往都会被访问。

是的,当您需要在获取数据后立即使用数据时。

大多数“报告”需要大量数据,以便对其进行总结。当你已经知道你需要几乎所有的东西时,为什么要单独取东西呢


通常,导出到数据仓库或其他系统的“提取”将受益于快速加载。

在将对象图传递到另一层之前,即使用NHibernate所指的分离实例时,您可能需要完全填充的对象图


延迟加载仅在ISession上下文中有效。使用聚合时,任何子对象通常都会与父对象一起加载,但在某些情况下,加载子对象是不够的,尤其是当不需要它们执行您将要执行的任何处理时。

在将其传递到另一层之前,您可能需要一个完全填充的对象图。延迟加载仅在ISession上下文中有效。对于聚合,所有子对象都将加载父对象。@David:请将答案作为答案发布,以便我们可以正确地向上投票。