Hibernate - Java对象持久化技术概述

    业务数据在内存中表现为实体域对象形式,而在关系数据库中表现为关系数据形式,这就会涉及到数据的访问。简单的说法就是实现对数据表的Select(查询),Insert(插入),Update(更新),Delete(删除)等操作,主要的数据访问模式有以下三种:

  1)数据访问代码在过程域对象中:业务过程中包含各种SQL语句和数据库操作细节,业务逻辑和数据访问代码混杂在一起。如下图所示:

  2)主动域对象模式:由实体域对象负责自身的数据访问细节,这种实体域对象也被称为主动域对象。它虽然将数据访问细节与业务过程隔离,但因主动域对象本身位于业务逻辑层,并没有做到业务逻辑层与数据访问的解耦。如下图所示:


   3)ORM模式:在单独的持久化层由ORM中间件封装数据库访问细节。ORM中间件提供对象-关系映射服务,充当了业务逻辑层和数据库层之间的桥梁,如下图所示:

   比较以上3种数据访问模式可以发现:使用ORM中间件可以使业务逻辑层与数据访问细节解耦。目前比较常用的ORM中间件有很多,Hibernate就是其中的一种。此外Java EE 5.0以上也引入了ORM框架:JPA(Java Persistence API),它充分吸收了包括Hibernate在内的ORM中间件的优点,使用和可扩展性也比较强。

猜你喜欢

转载自zhuanghd.iteye.com/blog/1847973