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

转载 2015年11月17日 20:54:48

这篇博文是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系列——总结篇(九)

这篇博文是Hibernate系列的最后一篇,既然是最后一篇我们进行一下从头到尾,整体上的总结,将这个系列的内容融会贯通。。。...
  • jiuqiyuliang
  • jiuqiyuliang
  • 2014年11月22日 08:18
  • 17090

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

Long Long ago,就听说过SSH,起初还以为是一个东东,具体内容更是不详,总觉得高端大气上档次,经过学习之后才发现,不仅仅是高大上,更是低调奢华有内涵,经过一段时间的研究和学习SSH框架的基...
  • jiuqiyuliang
  • jiuqiyuliang
  • 2014年08月29日 07:56
  • 20107

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

【SSH进阶之路】Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心,采用对象化的思维操作关系型数据库。 【SSH进阶之路】Hibernate搭建开发环境+简单实例...
  • jiuqiyuliang
  • jiuqiyuliang
  • 2014年10月17日 08:19
  • 35871

【ACMer】大学期间ACM进阶计划总结

ACM进阶计划 闲来无聊,虽然大学的ACM参赛结局很狗血,还是把大学期间ACM集训队训练的一些经验作一个总结,希望看到这篇博文的ACMer能惊醒,至少博主没做到下面的规划,所以2年集训队只能惨淡...
  • tham_
  • tham_
  • 2015年05月05日 21:37
  • 1056

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

两个实体对象之间是一对一的关联映射,即一个对象只能与另外唯一的一个对象相对应。例如:一个人(Person)只有一张身份证(IdCard)。...
  • jiuqiyuliang
  • jiuqiyuliang
  • 2014年10月23日 08:15
  • 23800

Hibernate系列——总结篇(九)

这篇博文是hibernate系列的最后一篇,既然是最后一篇,我们就应该进行一下从头到尾,整体上的总结,将这个系列的内容融会贯通。 概念       Hibernate是...
  • AinUser
  • AinUser
  • 2017年04月21日 11:14
  • 184

c/c++进阶之路

C/C++从入门到高手所有必备PDF书籍收藏,喜欢的朋友支持下吧~ C: 《C和指针》- PDF高清版 下载地址:http://www.fishc.com/a/book/C/821....
  • muyimo
  • muyimo
  • 2014年08月09日 16:14
  • 425

java工程师进阶之路

java工程师进阶之路,努力学习20周,奠定CTO 下面是需要掌握的知识点:...
  • u011159417
  • u011159417
  • 2017年03月03日 17:18
  • 993

Android程序员的进阶之路

本文主要论述的是android程序员的进阶之路,博主本人就是一名android开发攻城狮,所以这里讲述的大多数是android开发攻城狮的技术进阶之路,如有问题请多指正。大家都知道程序员之中有有菜鸟程...
  • qq_23547831
  • qq_23547831
  • 2016年01月28日 17:03
  • 11537

公司中 C和C++程序员进阶之路

从一次考试说起。 2010年10月份,综合部邀请我给新入职3个月的员工草拟考试试题,这些同事大部分在公司做的实习,算起来至少也有5、6个月的工作经验了吧。 试题的内容,是针对日常需要面对的...
  • Tony_Wong
  • Tony_Wong
  • 2014年05月02日 09:47
  • 1871
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【SSH进阶之路】Hibernate系列——总结篇(九)
举报原因:
原因补充:

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