Hibernate - 超越对象/关系映射?

Dan*_*ker 6 orm hibernate

http://www.hibernate.org/它有这个介绍文本:

从历史上看,Hibernate通过对象/关系映射促进了Java域对象的存储和检索.今天,Hibernate是一个相关项目的集合,使开发人员能够在其应用程序中以远远超出对象/关系映射的方式利用POJO样式的域模型.

换句话说:最初它是关于ORM的,现在它不仅仅是ORM.

在线之间阅读:ORM并不是城里唯一的游戏 - 有更新的方式来处理这些可能更好的事情.

当我进入文档时,它仍然只是将其描述为ORM库.是否有任何好的博客文章概述了已经采取的任何新的"后ORM"方法,以及这些功能如何工作和打算使用(以及它们如何/为什么可能比"传统"ORM更好)?

min*_*das 1

这取决于您如何定义 ORM 工具以及您对 ORM 工具的期望。我认为 ORM 的作用就是,呃,对象到数据库映射,反之亦然。Hibernate 还做了很多事情,例如:

  • 缓存(对象/查询,第一/第二级)
  • 延迟加载
  • 能够在两个不同的数据存储之间复制对象
  • 声明式安全
  • 标准API
  • 对象和 XML 之间的映射
  • 自动生成模式

这个列表可能会继续下去(如果您还不相信,请在顶部添加 Spring 集成)。如果十年前有人问自己,没有人会认为这些功能是休闲 ORM 库的一部分。

我们现在已经习惯了 Hibernate,以至于人们不再注意到它成为一个功能非常丰富的框架。显然,大多数功能都是有代价的,但您始终可以选择不付费并坚持使用基本的 ORM。