这篇博文是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映射——多对多关联映射(八)
总结
对于Hibernate的系列博文到今天为止,暂时宣布告一段落,但是并没有结束,因为对于Hibernate的内容还有很多,例如懒加载以及Hibernate的性能调优,这些内容我会在后面的项目中,为大家介绍。
后面博客,我们开始Spring的系列博文,谢谢关注。