这篇博文是Hibernate系列的最后一篇,既然是最后一篇,我们就应该进行一下从头到尾,整体上的总结,将这个系列的内容融会贯通。

概念

Hibernate是一个对象关系映射框架,当然从分层的角度看,我们也说它是数据持久层的框架。

我们从上一句话可以看出Hibernate的核心:面向对象、关系映射以及数据持久化。前面两个概念很容易理解,而对于“数据持久化”,就是将数据或者某物体,永久的保存起来。现实生活中的例子有很多,例如:鲜肉冷藏,水果做成罐头,而对于编程而言就是将数据保存在文件或磁盘以及数据库中。下面我们再看一下Hibernate的核心对象:

核心对象

上面这幅图反馈给我们的信息有很多,能否读懂这幅图可以从侧面反映你对Hibernate理解的水平。下面我们说几条:

1、Hibernate有俩个主要的配置文件:(Hibernate.cfg.xml和xxx.hbm.xml)

2、Hibernate有五个或六个接口:Configuration、SessionFactory、Session、Transaction、Query和Criteria。

3、Hibernate的执行原理,看上图的箭头即可。

4、Session对象是通过SessionFactory构建的,这是Hibernate创建Session的两种方式之一。

。。。。。。

由于内容太多,我们暂时就列这么多,就不再一一列举了。下面我们再详细的介绍映射的分类。

分类

在Hibernate系列的起初,我将关系映射分为了以上四种,现在来看关系映射其实就两种,甚至一种。

1、从对象的加载方向上分为单向和双向两种。

单向和双向只影响数据的加载,并不影响数据的存储。不论是一对一,一对多还是多对多,单向和双向生成的数据库表是一样,单向和双向的不同是由对象模型决定的。

2、从对象的映射关系上分为一对多和多对一两种,它们又是从不同角度说的,所以也可以说是一种。

一对一关联映射是多对一关联映射的特例,只是在“多”的一端加上唯一的限制之后,用来表示一对一的关联关系。

多对多关联映射是一对多关联映射的特例,它们呢都是使用集合来表示多的关系,用<key>标签定义当前表的主键。

当然它们既有联系也有区别,区别就不再一一列举了,系列博文中已经详细的介绍了各自的联系与区别。

系列列表

【SSH进阶之路】Hibernate基本原理(一)

【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)

【SSH进阶之路】Hibernate基本映射(三)

【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)

【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)

【SSH进阶之路】Hibernate映射——一对一双向关联映射(六)

【SSH进阶之路】Hibernate映射——一对多关联映射(七)

【SSH进阶之路】Hibernate映射——多对多关联映射(八)

【SSH进阶之路】Hibernate系列——总结篇(九)

总结

对于Hibernate的系列博文到今天为止,暂时宣布告一段落,但是并没有结束,因为对于Hibernate的内容还有很多,例如懒加载以及Hibernate的性能调优,这些内容我会在后面的项目中,为大家介绍。

后面博客,我们开始Spring的系列博文,谢谢关注。

【SSH进阶之路】Hibernate系列——总结篇(九)的更多相关文章

  1. (Hibernate进阶)Hibernate系列——总结篇(九)

    这篇博文是hibernate系列的最后一篇,既然是最后一篇,我们就应该进行一下从头到尾,整体上的总结,将这个系列的内容融会贯通. 概念 Hibernate是一个对象关系映射框架,当然从分层的角度看,我 ...

  2. SSH进阶之路

    [SSH进阶之路]Hibernate基本原理(一)       在开始学Hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装.一句不难,难道是真的不难还是眼高手低 ...

  3. 【SSH进阶之路】Struts + Spring + Hibernate 进阶开端(一)

    [SSH进阶之路]Struts + Spring + Hibernate 进阶开端(一) 标签: hibernatespringstrutsssh开源框架 2014-08-29 07:56 9229人 ...

  4. 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)

    [SSH进阶之路]Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心,採用对象化的思维操作关系型数据库. [SSH进阶之路]Hibernate搭建开发环境+简单实例 ...

  5. 【SSH进阶之路】Hibernate基本映射(三)

    [SSH进阶之路]Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心.採用对象化的思维操作关系型数据库. [SSH进阶之路]Hibernate搭建开发环境+简单实例 ...

  6. 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)

    [SSH进阶之路]Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心,採用对象化的思维操作关系型数据库. [SSH进阶之路]Hibernate搭建开发环境+简单实例 ...

  7. 【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)

    Hibernate是很典型的持久层框架,持久化的思想是很值得我们学习和研究的.这篇博文,我们主要以实例的形式学习Hibernate,不深究Hibernate的思想和原理,否则,一味追求,苦学思想和原理 ...

  8. 【SSH进阶之路】Hibernate映射——多对多关联映射(八)

    上篇博文[SSH进阶之路]Hibernate映射——一对多关联映射(七),我们介绍了一对多关联映射,它是多对多关联映射的基础. 多对多映射是现实生活中最常见的映射,也是最容易理解的映射.废话少说,直接 ...

  9. 【SSH进阶之路】Hibernate映射——一对一双向关联映射(六)

    上篇博文[SSH进阶之路]Hibernate映射--一对一单向关联映射(五),我们介绍了一对一的单向关联映射,单向是指仅仅能从人(Person)这端载入身份证端(IdCard),可是反过来.不能从身份 ...

随机推荐

  1. reactNative 获取组件高、宽、位置等信息

    import {findNodeHandle, UIManager} from 'react-native' layout(ref) { const handle = findNodeHandle(r ...

  2. UI系统的作用

    1.向用户展示信息: 2.将用于与系统的交互解释为指令.

  3. Educational Codeforces F. Remainder Problem

    [传送门] 题意就是单点加以及查询下标为等差数列位置上的值之和.刚开始看到这道题.我以为一个数的倍数是log级别的.就直接写了发暴力.就T了.还在想为啥,优化了几发才发现不太对劲.然后才想到是$\df ...

  4. MongoDB mongoimport 从csv导入数据指定字段类型

    mongoimport:指定字段的类型,防止将数字型的字符串导入成数值类型 1.正常模式导入 mongoimport -d idpad_zl -c trs_action_dzwl_zm --type ...

  5. cc2530中单片机的通用I/O接口

    cc2530中有21个输入/输出引脚. 这些引脚可以设置为通用I/O或者设置为外设I/O.(其实这里的外设还是不太懂到底指什么,网上说输入设备,但是通用I/O也可以输入啊,为什么要弄外设I/O?) 其 ...

  6. 如何保证javascript算数计算结果的精度

    前言: 我们先看如下这个js的代数计算结果,什么? 明显不是我们想要的结果3.52!! 备注:其实这个小数计算精度问题,在弱类型语言python等语言中同样存在. 问题原因之所在: JavaScrip ...

  7. VirtualBox support USB3.0 funciton

    首先确认Oracle VM VirtualBox 的版本 然后通过如下链接下载对应的扩展增强包: http://download.virtualbox.org/virtualbox 再则,通过管理-& ...

  8. VMware空虚拟机通过网络安装系统时获取不到IP地址情况(基于Linux的DHCP服务器)

    当虚拟机提示no DHCP or proxyDHCP offers were received时 1.dhcp服务配置错误(留意句尾分号“  :”) 2.dhcp服务未启动(用 systemctl s ...

  9. system.stat[resource,<type>]

    系统信息. 整型或者浮点型 ent - 该分区有权接收的处理器单元数(float) kthr, - 关于内核线程状态的信息: r - 平均可运行内核线程数(float) b - 虚拟内存管理器等待队列 ...

  10. 洛谷/Codeforces CF865D 题解

    若想要深入学习反悔贪心,传送门. Description: 已知接下来 \(n\) 天的股票价格,每天可以买入当天的股票,卖出已有的股票,或者什么都不做,求 \(n\) 天之后最大的利润. Metho ...