SSH-Hibernate(一)—入门

来源:互联网 发布:w两个世界知乎 编辑:程序博客网 时间:2024/05/18 02:46

数据持久化

    接触到Hibernate之前是不知道这么个概念的,查了不少资料一直都模糊不清。到底什么是数据持久化呢?《精通Hibernate:Java对象持久化技术详解》中给的解释,感觉还是比较合理的。狭义的理解: “持久化”仅仅指把域对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作。Hibernate所涉及到的数据持久化应该是基于广义的理解的。本篇博客也基于这个理解!
为什么要数据持久化

    数据持久化的目的是什么呢?我们知道我们开发应用程序可能面对不同的数据源、并发控制、事务处理等一系列数据处理相关的问题。这些底层的细节不仅技术难度大,而且难以控制,也不利于提高开发效率。数据持久化的目的就是要屏蔽这些底层的复杂操作,隐藏数据库访问细节。因此持久化方案需要关注如下问题:

    1. 将对象模型转化为数据源要求的模型
    2. 提供查询机制,能够方便的从数据源中寻找到需要的对象
    3. 并发控制、事务等的管理
    4. 性能方便的优化,如cache功能

ORM

    前面已经说明了数据持久话的概念,数据的持久化保存是通过数据库解决的。也就是说还需要做的数据操作的持久化。
    Java是一种面向对象的开发语言,面向对象的设计和开发思想在J2EE的应用程序中使用广泛。而目前主流的数据源则是关系型的数据库。面向对象和面向关系在设计思想和操作上截然不同的。  也就是说面向对象的Java语言和面向关系的数据库之间的操作存在差异,这就需要引入一个“适配器”来屏蔽差异化操作。 
    ORM(object relation mapping)就是一种解决这个问题的持久化解决方案。主要实现程序对象到关系数据库的映射,它的关键是Object和Relation,分别代表了对对象的操作和对关系数据库的访问。即通过映射关系把对对象的操作对应的对关系数据库的操作持久的保持下来。即把开发人员从面向关系中解脱出来。
            

Hibernate的体系结构

    现在我们大概的知道了数据持久化的概念以及ORM的作用,Hibernate是ORM持久化方案的其中一个实现。我们继续了解Hibernate框架的体系结构,以及各个部分的作用。(图片来源:《LINUX下基于MVC的JAVA WEB开发》)

    从图中可以看出Hibernate是通过一系列的配置文件和数据库来实现持久化对象对数据库的持久化操作的。简单的说就是Hibernate为应用程序提供持久化对象,隔离开了应用程序对数据库的直接操作。Hibernate通过配置文件将持久化对象和数据库建立映射关系来访问数据库。
    总结:本篇博客就先到这里,先理解一下Hibernate中经常出现的几个概念。完了后再讲框架内的组件和细节的东西。总的来说,HIbernate是适配器思想的应用,链接有差异的两个部分。
1 0