1

我理解使用不同策略检索数据的核心概念。但我找不到一个好的总结/定义..

  • 它是一种设计模式吗?它是否适合更广泛的设计模式?
  • 它是特定于 ORM 实现的吗?(Hibernate 经常出现)
  • 它有什么作用?它是否(应该)返回值对象的集合,或者......你想要的任何东西?
  • 是否有与之相关的通用类和方法?
4

1 回答 1

0

我不确定Fetching Strategy本身是一种设计模式,但确实是一类模式的一部分。两个例子是延迟加载和预取。另一个相关的概念是缓存。

它们不是特定于ORMHibernate的,但经常在此处被提及,因为您需要将工具配置为以特定方式运行,而不是直接对其进行编码。

总体而言,您的获取策略控制您如何将数据检索到应用程序中,并且可能(或可能不会)影响对象在应用程序中为 OO 语言实例化的方式。

例如,如果您通常遍历整个数据集(或对象集),那么一次加载整个数据集或有效地预取数据以便准备好处理可能会更有效。

另一方面,如果你经常只访问第一部分数据;或者可能是对象的信封而不是其内容,您可以选择仅实例化对象层次结构的顶层部分而不是其所有内容。

于 2011-11-02T15:01:09.770 回答