Hibernate基本原理篇(一)

原创 2015年11月20日 13:29:44
    说起hibernate大家脑中都很熟悉,知道Hibernate是一个开放源代码的对象关系映射框架,它对Jdbc进行了非常轻量级的对象封装。

    Hibernate在英文中的意思是:冬眠、蛰伏。这我们就应该想了,那么冬眠和持久化对象之间有什么关系呢,我们知道 对象只能存在于内存中,当程序运行起来后会创建对象,当程序运行结果那么这些对象就随之消失,我们更多时候是需要将这些对象永久保存到数据库中,那么形象的理解Hibernate就是将这些对象在关系型数据库中冬眠!

    那么我们框架中的hibernate是什么呢?

一.它是连接Java应用程序和关系数据的中间件(组件)

    中间件就是一种软件的半成品,Hibernate就是帮忙我们解决操作数据库的问题。以后我们就不需要用JAVA的CONNECTION等对象.

   

    由Hibernate操作JDBC,简化我们操作数据库,提高开发效率。

二.它对JDBC API进行了封装,负责JAVA对象的持久化(就是保持到数据库里)

    持久化,我们说了很多次,那么什么事持久化呢?

    持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在的数据库中,或者存储在磁盘文件中、XML数据文件中等等。

    持久化是将程序数据在持久状态和瞬时状态间转换的机制。

    JDBC就是一种持久化机制。文件IO也是一种持久化机制。

   日常持久化的方法

   将鲜肉冷藏,吃的时候再解冻的方法也是。

   将水果做成罐头的方法也是。

   将人的脏器迅速冷冻,运输,然后解冻给人移植的技术也是.

  

三.在分层软件体系中它位于持久化层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务逻辑

四.它是一种ORM映射工具,能够建立面向对象的域模型和关系数据模型之间的映射。

    ORM-ObjectRelation Mapping

    为什么O和R之间需要映射?

    因为模型不匹配,对象和数据库的模型不匹配,在JAVA中数据是放在对象中的,而我们的数据库是关系弄的,如何把对象中的数据插入到数据库的呢?

    是用INSERT语句,把对象中的数据取出来插入到数据库中,这就是一种映射,就是把JAVA对象中的数据取出来对应到数据库的INSERT对应的字段里

    所以我们在用JDBC插入数据的时候我们一直在做MAPPING的事情。所以Hibernate的作用就是把JAVA对象自动对应到数据库的字段中。

   

    ORMapping基本对应规则:

    1:类跟表相对应

    2:类的属性跟表的字段相对应

    3:类的实例与表中具体的一条记录相对应

    4:一个类可以对应多个表,一个表也可以对应对个类

    5:DB中的表可以没有主键,但是Object中必须设置主键字段

    6:DB中表与表之间的关系(如:外键)映射成为Object之间的关系 

    7:Object中属性的个数和名称可以和表中定义的字段个数和名称不一样

    所以说Hibernate是一种自动化的OR映射的框架;它是对JDBC的二次封装,省去了好多映射的工作;

  

      

    同样的ORM框架还有APACHE的-OBJ,TOPLINK等。我们这里只介绍Hibernate,不过JAVA5.0已经开始引入了JPA技 术,以后由JAVA直接JPA操作数据库,再由JPA操作Hibernate或者OBJ,TOPLINK,这样无论用什么技术都是由JPA操作,我们来调 用JPA,这样就不需要学习更多的框架。

   

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android 电池(一):锂电池基本原理篇

关键词:android  电池关机充电 androidboot.mode charger 平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0  平台:S...

android 电容屏(一):电容屏基本原理篇

from : http://blog.csdn.net/xubin341719/article/details/7820492 关键词:android  电容屏 tp  ITO  ...
  • Fybon
  • Fybon
  • 2015年02月10日 16:34
  • 599

Android LCD(一):LCD基本原理篇

关键词:android LCD TFT 液晶 偏光片 彩色滤光片  背光 平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0  平台:samsung ex...

android 电池(一):锂电池基本原理篇

分类: S5PXX(三星)2013-01-13 12:42 1791人阅读 评论(3) 收藏 举报 关键词:android  电池关机充电 androidboot.mode charge...

锂电池基本原理篇

转载 http://blog.csdn.net/xubin341719/article/details/8497830 关键词:android  电池关机充电 androidboot.mod...
  • zzobin
  • zzobin
  • 2013年10月10日 11:05
  • 1179

Android核心分析 之(10)Android GWES之基本原理篇

Android GWES基本框架篇         我这里的GWES这个术语实际上从Microsoft 的Window上移植过来的,用GWES来表示Android的窗口事件系统不是那么准确,...

Android LCD(一):LCD基本原理篇

Android LCD(一):LCD基本原理篇 关键词:android LCD TFT 液晶 偏光片 彩色滤光片  背光 平台信息: 内核:linux2.6/linux3.0 系统...

android 电池(一):锂电池基本原理篇

关键词:android  电池关机充电 androidboot.mode charger 平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0  平台:...

自定义控件三部曲之绘图篇(十五)——QQ红点拖动删除效果实现(基本原理篇)

前言:世人总是恐惧失败,但失败了也大不从头再来 相关系列文章: Android自定义控件三部曲文章索引:http://blog.csdn.net/harvic880925/article/deta...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate基本原理篇(一)
举报原因:
原因补充:

(最多只允许输入30个字)