`

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

阅读更多

这篇博文是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的系列博文,谢谢关注。

 

分享到:
评论

相关推荐

    1003————自动搭建SSH框架 1004————SSH框架手动搭建

    SSH是Spring、Struts和Hibernate三个开源框架的首字母缩写,它们分别负责应用的依赖注入、MVC模式实现以及对象关系映射。这里我们将深入探讨SSH框架的自动搭建与手动搭建。 首先,让我们了解SSH框架的核心组件: 1...

    spring+struts2+hibernate完整项目初学者进阶练习

    【标题】"spring+struts2+hibernate完整项目初学者进阶练习"是一个针对Java初学者设计的进阶项目,旨在帮助他们熟练掌握三大主流Java Web开发框架——Spring、Struts2和Hibernate的集成应用。这个项目是基于MySQL...

    easyui整合ssh项目

    【标题】"easyui整合ssh项目"涉及到的是前端与后端技术的集成,具体是将易用的前端框架EasyUI与流行的Java开发框架Struts2(S), Spring(S), Hibernate(H)——也就是SSH整合应用。EasyUI是一个基于jQuery的用户...

    SSH融合的实例集锦适合初学入门者

    ### SSH融合的实例集锦——初学者的指南 在IT领域,尤其是Web开发中,SSH(Struts、Spring、Hibernate)框架的整合是构建高效、可扩展应用的关键技术之一。对于初学者而言,掌握SSH框架的整合不仅是技能的提升,更...

    SSH搭建步骤详解

    SSH是Java开发中常见的三大框架——Struts、Spring和Hibernate的简称,它们分别负责MVC模式中的控制器、依赖注入和持久层操作。本教程将详细阐述如何整合这三大框架,以便构建一个高效的企业级应用程序。 **一、...

    Hibernate开发资料

    10. **案例实战**:提供实际项目中的示例,演示如何在SSH(Spring、Struts、Hibernate)框架下整合使用Hibernate,以及在DAO层设计和实现的最佳实践。 《Hibernate技术文档.CHM》这份资料,通过深入浅出的讲解,...

    传智播客ssh+ssm五大框架笔记.zip

    【标题】"传智播客ssh+ssm五大框架笔记.zip"所涵盖的是Java Web开发中的两种主流框架组合——Spring、Struts2和Hibernate(SSH)以及Spring MVC和MyBatis(SSM)。这些框架在现代企业级应用开发中扮演着重要角色,...

    spring+springmvc+hibernate框架实现单表增删改查、条件查询和分页、文件上传

    在本项目中,我们主要探讨的是如何利用Java的三大经典框架——Spring、SpringMVC和Hibernate,来构建一个完整的Web应用程序。这个项目特别适合初学者,可以帮助他们深入了解这些框架的用法,以及如何将它们集成到...

    基于ssh实现简易电商网站

    在线购物网站设计与实现进阶——(Struts2+Spring+Hibernate实现),说明:完成订单管理 ①订单在购物车页面点击结算时生成。需要读取购物车内选择的商品信息并计算应付金额,需要有用户送货地址薄和付款方式。 ②...

    JAVA三大框架思维导图

    "Hibernate——持久层操作.mmap"文件很可能包含了关于如何创建实体类、配置映射文件、执行CRUD操作等内容。而"Hibernate——高级特性.mmap"可能涉及到了更复杂的功能,如二级缓存、HQL查询语言、 Criteria查询等。 ...

    云大Java实验8

    在“云大Java实验8”这个主题中,我们聚焦于一系列关键的IT技术与概念,主要包括SSH框架、Android开发、数据库管理、Web开发以及设计模式。这些知识点在现代软件工程中占据着至关重要的地位,是专业程序员必须掌握的...

    程序员200G资料大放送(内含百度云链接) 违规请告知删除

    - **SSH整合&综合案例视频**:SSH指的是Struts、Spring、Hibernate三个框架的整合,这套视频教程通过具体案例展示了如何将这三个框架结合在一起使用。 - **SpringMVC视频教程**:Spring MVC是Spring框架的一部分,...

    mySSM-master.zip

    1. **SSH框架**:SSH(Struts2 + Spring + Hibernate)是Java Web开发中常用的一个集成框架。Struts2负责控制层,Spring处理业务逻辑和依赖注入,Hibernate则作为持久层框架,处理数据库操作。这个项目采用SSH框架,...

    最新尚硅谷全套视频打包地址 包含spring boot cloud 全套 安卓 前端

    4. **SSH整合&综合案例视频**:Struts、Spring、Hibernate三个框架的整合应用。 5. **SpringMVC视频教程**:Spring MVC框架的使用技巧。 6. **JPA视频教程**:Java Persistence API的介绍。 7. **SpringData视频**:...

    java整理的一些资料

    "最新Hibernate3[1].2_+_Spring_2.5_+_Struts_2.1_整合开发手册.pdf" 是关于经典的Java企业级应用开发框架——SSH(Struts+Spring+Hibernate)的整合指南。这三者结合可以帮助开发者构建高效、可维护的Web应用程序。...

    java毕设论文参考文献.pdf

    - 陈亚探的《Struts2 + Spring + Hibernate 框架技术与项目实战》结合SSH框架,展示了如何构建企业级应用。 - 杨静的《基于JAVA WEB 中 MVC 模式的研究与应用》探讨了MVC设计模式在Web开发中的应用。 3. **数据库...

Global site tag (gtag.js) - Google Analytics