23

在他的“企业应用程序架构模式”一书中,Martin Fowler 谈到了软件开发中常见的持久性模式,特别是与 ORM 相关的模式。

是否存在 Hibernate 最接近的模式?

4

4 回答 4

15

Hibernate 使用了几种模式:

  • 延迟加载(代理集合)
  • 工作单元(作为 Session 对象的一部分)
  • 可能是身份映射或更复杂的东西
  • 映射元数据
  • 标准 API 的查询对象
  • 所有对象关系结构模式
于 2009-08-20T18:53:59.160 回答
12

Hibernate 不遵循 ActiveRecord 模式。Hibernate 最接近的模式是Datamapper模式。

于 2009-08-20T22:27:31.693 回答
2

如果您正在寻找明确的设计模式,那么您可以考虑 Hibernate 一个用于实现Active Record 模式的精美 API :

在软件工程中,活动记录模式是一种在软件中常见的设计模式,将其数据存储在关系数据库中。它是由 Martin Fowler 在他的《企业应用程序架构模式》一书中命名的。这种对象的接口将包括诸如插入、更新和删除之类的函数,以及或多或少直接对应于基础数据库表中的列的属性。

活动记录是一种访问数据库中数据的方法。一个数据库表或视图被包装到一个类中;因此,对象实例与表中的单行相关联。创建对象后,保存时会将新行添加到表中。任何加载的对象都从数据库中获取其信息;当一个对象被更新时,表中的相应行也会被更新。包装类为表或视图中的每一列实现访问器方法或属性。

于 2009-08-20T18:55:20.873 回答
1

Hibernate 显然是领域模型。ORM 中的对象是领域模型,所以没有它你就不能做 ORM。

于 2009-08-20T23:35:09.920 回答