1.概述
hibernate是在JDBC之上提供一层薄薄的封装,在提供完全透明的持久化机制的同时又提供尽可能多的灵活性。相比之ibatis则是面向“语句映射”的层面,使用SQL作为查询语言。
2.标准方面
J2EE提供了两个持久化的手段:JDBC,它是J2SE中访问关系数据库系统的标准API,然而却以一种错误的编程模型来强制开发者用 java代码来处理关系思想;另一个是实体Beans ,它是EJB中专门模型化持久化实体的组件,一是不能处理持久对象间的关系,二是使用了糟糕的查询语言,三是难于测试。
3.ORM(object relational mapping)
由于J2EE持久化标准对于处理对象与关系的尴尬,而且持久化问题的解决方案是由关系-对象映射(ORM)来解决的,它可以透明地持久化普通java对象(POJO)。因此,ORM框架悠然而生。
1990年,一些商业的ORM工具就出现了,比如TopLink。但由于其价格昂贵、结构复杂并且与Sun的实体bean标准相左,所以很少人会用。
2001年,JDO(java data object)在Java Community Progress(www.jcp.org)的规范中出现。因其试图建立一个完整的持久层框架,追求标准化陷入僵局;标准很不完善,存在重大缺陷,产品分 裂, 也没有一个好的开源免费实现,也没有能够流行。
2001年末,hibernate第一个正式版本对外发布,赢得了开源社区的一片赞誉。
2003年6月8日,hibernate 2的发布,奠定了成功的基石。开始进入国内开发人员视野。
2003年末,hibernate获得了Jolt 2004大奖以及被jboss收购,确立了hibernate在java orm架构中的主导地位,ORM工业标准。
2005年3月,hibernate 3正式发布。
4.成功之道
快速发布,即时响应
全面的回归测式
追求卓越
避免过度设计
集权
文档
避免标准化
10分钟之内把Hibernate跑起来
开发人员的责任感
易用的、可更新的wiki网页
5.何为hibernate
创建一份XML“映射文档”,告诉Hibernate您希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求 它以对象的形式获取数据,或者把对象保存为数据。运行时,Hibernate读取映射文档,然后动态构建Java类,以便管理数据库与Java之间的转 换。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要修改这些对象,(一般情况下)只需在程序中与它们进行交互, 然后告诉Hibernate保存修改即可。类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉Hibernate有关它们的信息,这样就能在 数据库中保存它们。
hibernate是在JDBC之上提供一层薄薄的封装,在提供完全透明的持久化机制的同时又提供尽可能多的灵活性。相比之ibatis则是面向“语句映射”的层面,使用SQL作为查询语言。
2.标准方面
J2EE提供了两个持久化的手段:JDBC,它是J2SE中访问关系数据库系统的标准API,然而却以一种错误的编程模型来强制开发者用 java代码来处理关系思想;另一个是实体Beans ,它是EJB中专门模型化持久化实体的组件,一是不能处理持久对象间的关系,二是使用了糟糕的查询语言,三是难于测试。
3.ORM(object relational mapping)
由于J2EE持久化标准对于处理对象与关系的尴尬,而且持久化问题的解决方案是由关系-对象映射(ORM)来解决的,它可以透明地持久化普通java对象(POJO)。因此,ORM框架悠然而生。
1990年,一些商业的ORM工具就出现了,比如TopLink。但由于其价格昂贵、结构复杂并且与Sun的实体bean标准相左,所以很少人会用。
2001年,JDO(java data object)在Java Community Progress(www.jcp.org)的规范中出现。因其试图建立一个完整的持久层框架,追求标准化陷入僵局;标准很不完善,存在重大缺陷,产品分 裂, 也没有一个好的开源免费实现,也没有能够流行。
2001年末,hibernate第一个正式版本对外发布,赢得了开源社区的一片赞誉。
2003年6月8日,hibernate 2的发布,奠定了成功的基石。开始进入国内开发人员视野。
2003年末,hibernate获得了Jolt 2004大奖以及被jboss收购,确立了hibernate在java orm架构中的主导地位,ORM工业标准。
2005年3月,hibernate 3正式发布。
4.成功之道
快速发布,即时响应
全面的回归测式
追求卓越
避免过度设计
集权
文档
避免标准化
10分钟之内把Hibernate跑起来
开发人员的责任感
易用的、可更新的wiki网页
5.何为hibernate
创建一份XML“映射文档”,告诉Hibernate您希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求 它以对象的形式获取数据,或者把对象保存为数据。运行时,Hibernate读取映射文档,然后动态构建Java类,以便管理数据库与Java之间的转 换。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要修改这些对象,(一般情况下)只需在程序中与它们进行交互, 然后告诉Hibernate保存修改即可。类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉Hibernate有关它们的信息,这样就能在 数据库中保存它们。