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,这样就不需要学习更多的框架。

   

 

 

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

Hibernate基本原理篇(二)

s
  • gaibian0823
  • gaibian0823
  • 2015年11月20日 17:07
  • 470

Hibernate框架基础——Hibernate API及Hibernate主配置文件

Hibernate的学习路线图Hibernate API简介ConfigurationConfiguration类负责管理Hibernate的配置信息,包括如下内容: Hibernate运行的底层信息...
  • yerenyuan_pku
  • yerenyuan_pku
  • 2016年10月05日 16:32
  • 1409

深入浅出 GAN·原理篇文字版(完整)| 干货

这次的内容主要是想梳理 GAN 从 NIPS 2014 被提出,到 2017年5月,都有哪些重要的从原理和方法上的重要研究。一共覆盖了25篇重要论文(论文列表见本文最下方)。 引言:GAN的...
  • c2a2o2
  • c2a2o2
  • 2017年06月13日 22:00
  • 1606

Hibernate基本配置

Maven配置 org.hibernate hibernate-core 4.2.1.Final ...
  • qq_32588349
  • qq_32588349
  • 2016年05月20日 22:29
  • 2855

Hibernate基本用法:体系结构

ORM概述: ORM:Object/Relation Mapping,对象/关系数据库映射。Hibernate是ORM框架的一种。 ORM是面向对象程序设计语言和关系数据库之间的桥梁,ORM完成了...
  • u012355934
  • u012355934
  • 2017年04月16日 22:31
  • 1856

LCD基本原理篇

关键词:android LCD TFT 液晶 偏光片 彩色滤光片  背光 平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0  平台:sams...
  • jsn_ze
  • jsn_ze
  • 2016年03月08日 17:32
  • 254

Hibernate配置文件详解

Hibernate的基本配置文件有两种:hibernate.cfg.xml和model.hbm.xml文件。 hibernate.cfg.xml包含了Hibernate与数据库的基本连接信息,在H...
  • qq_30641447
  • qq_30641447
  • 2016年05月30日 10:03
  • 5773

锂电池基本原理篇

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

电容屏基本原理篇

转载 http://blog.csdn.net/xubin341719/article/details/7820492 关键词:android  电容屏 tp  ITO  平台信息: 内...
  • zzobin
  • zzobin
  • 2013年10月10日 11:08
  • 915

Hibernate映射普通属性、Hibernate中的各种类型

  • L1585931143
  • L1585931143
  • 2017年05月05日 15:59
  • 231
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate基本原理篇(一)
举报原因:
原因补充:

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