Hibernate遵循哪种模式?

时间:2009-08-20 18:45:43

标签: java hibernate orm design-patterns poeaa

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

Hibernate是否存在最贴切的模式?

4 个答案:

答案 0 :(得分:15)

Hibernate使用了几种模式:

  • 延迟加载(代理集合)
  • 工作单元(作为Session对象的一部分)
  • 可能身份地图或更复杂的内容
  • 映射元数据
  • 标准API的
  • 查询对象
  • 所有对象关系结构模式

答案 1 :(得分:8)

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

答案 2 :(得分:2)

如果您正在寻找设计模式明确,那么您可以将Hibernate视为用于实现Active Record Pattern的奇特API:

  

在软件工程中,活跃   记录模式是一种设计模式   常见于软件中   将数据存储在关系中   数据库。它是由马丁命名的   福勒在他的书“模式”中   企业应用架构。   这样一个对象的接口会   包括插入等功能   更新,删除和属性   直接对应或多或少   到底层的列   数据库表。

     

活跃记录是一种方法   访问数据库中的数据。一个   数据库表或视图被包装成   一类;因此一个对象实例是   绑在表格中的一行。   创建对象后,创建一个新行   保存后添加到表中。任何   对象加载获取其信息   来自数据库;当一个物体是   更新后,相应的行   表也​​更新了。包装器   class实现访问器方法或   。中每列的属性   表或视图。

答案 3 :(得分:1)

Hibernate显然是domain model。 ORM中的对象是域模型,因此没有它就不能进行ORM。