现在的位置: 首页 > 综合 > 正文

持久层理解 hibernate

2013年03月03日 ⁄ 综合 ⁄ 共 1142字 ⁄ 字号 评论关闭
SSH框架:

表示层
  |
业务层
  |
dao层
|
持久层Hibernate(其实就屏蔽各个数据库的差异,相当于逻辑抽象层屏蔽硬件驱动一样)
  |
数据库层
数据持久层只是名字好听,说穿了只是一个逻辑概念而已,这层的主要任务是负责把数据保存起来,一般是指保存至数据库或者文件,当然,它也可以负责完成与之相关的行为。

持久 英文即 persistence。

  就是把数据保存到可掉电式存储设备中供以后使用。大多数情况下特别是企业级应用,数据持久化往往也就意味着将内存中的数据保存到磁盘上加以固化,而持久化的实现过程则大多通过各种关系数据库来完成。

  那么持久层呢?

  延续思路,所谓“持久层”,也就是在系统逻辑层面上,专著于实现数据持久化的一个相对独立的领域(Domain)。

  持久层是负责向(或者从)一个或者多个数据存储器中存储(或者获取)数据的一组类和组件。这个层必须包括一个业务领域实体的模型(即使只是一个元数据模型)。

  不过这里有一个字需要特别强调,也就是所谓的“层”。

  对于应用系统而言,数据持久功能大多是必不可少的组成部分。那不就是说,我们的系统中,已经天然的具备了“持久层”概念?

  也许是,但也许实际情况并非如此。

  之所以要独立出一个“持久层”的概念,而不是“持久模块”,“持久单元”,也就意味着,我们的系统架构中,应该有一个相对独立的逻辑层面,专著于数据持久化逻辑的实现.与系统其他部分相对而言,这个层面应该具有一个较为清晰和严格的逻辑边界。

编辑本段持久层框架

  Hibernate

  Hibernate是一个开放源代码对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成
数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:【Hibernate
Synchronizer
】【MiddlegenIDE

  IBATIS

  使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等
“全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。

抱歉!评论已关闭.