资讯中心 Info
当前位置:爱尚教育 > 资讯中心 >
Javaw优德88 com之走进Hibernate 的编程世界
发布日期:2020-08-13 阅读次数:

 

Javaw优德88 com之走进Hibernate 的编程世界

 

前言

         欢迎各位Java学习爱好者,本系列文章是个人总结的Hibernate的一些重点知识,在这里分享给大家,希望能够帮助到大家更好的学习Java编程,虽然目前使用Hibernate的企业减少了很多,但是由于Hibernate框架的思想依然是ORM框架中的典型代表,而且很多Javaw优德88 com机构依然将该课程作为主要学习的框架之一,因此掌握Hibernate的核心思想及使用方法对于Java编程人员还是存在必要性的。

 

 

一、预备知识:

1.      两层结构与三层结构

2.      软件分层的含义:

  1. 物理分层:每一个层次运行在网络的不同节点上
  2. 逻辑分层:每一个层次由一个单独的软件模块来实现

3.      软件分层的优点:

  1. 伸缩性:应程序是否能支持更多的用户。例如:可以将不同的层次分布在不同的服务器上,增加硬件资源。
  2. 可维护性:当需求发生变化时,只需要更改软件的一部分。
  3. 可扩展性:在现有系统中增加新功能的难度。
  4. 可重用性:程序的代码没有冗余。 可管理性:将工作分解给不同的开发团队。

4.      模型:描述现实世界的实体。软件开发的不同阶段,需要为目标系统创建不同类型的模型。

  1. 概念模型:应用在分析阶段。(即:实体模型图)
  2. 域模型:应用在设计阶段。(即:面向对象)
  3. 关系数据模型:应用在设计阶段。(即:面向关系)

5.      域对象(Domain Object)即业务对象 Business Object(BO)

域对象的分类:

  1. 实体域对象(POJO),纯粹的 JAVA 对象。每一个 POJO 对戏都分配唯一的对象标识符(OID, Obejct Identifier),OID 是关系数据库中的主键。
  2. 过程域对象,指应用程序中的业务逻辑或流程。 事件域对象,介绍略。

6.      域对象之间的关系

  1. 关联:指对象之间存在一对一、一对多、多对一的关系。又可分为单向关联、双向关联。
  2. 依赖:指类之间的访问关系,如果类 A 访问类 B 的属性或方法,或者类 A 负责实例化类 B。
  3. 聚集:指整体与部分的关系,如,人与手的关系。聚集关系与关联关系很相似,但是语 义不同,对于聚集关系,部分类的对象不能单独存在。
  4. 一般化:指类之间的继承关系。

7.  名词解释-中间件:应用程序与其他软件系统之间的连接管道。

8.  使用 JDBC 的缺点(即为什么要使用 ORM 工具)

  1. 业务代码和数据访问代码掺杂在一起。
  2. 程序代码嵌入面向关系的 SQL 语句,使开发人员不能完全运用面向对象的思 维来编写程序。
  3. 关系数据模型发生变化,需要修改程序代码,增加维护的困难。
  4. SQL  语句的错误编译时不能检测这种错误,增加调试困难。

二、Hibernate(冬眠,即对象持久化工具作者:Gavin king

1)  开源 O/R 工具(ORM 工具包括对象持久化、事务、缓存等)

2)对 JDBC API 进行了封装,完成原有 JDBC 完成的功能

3)工作在持久层(数据访问层),替代原有的持久层

4)隐藏了关系模型、只是操作对象模型

5)实现了关系模型到对象模型的转换

6)实现了 OOA(面向对象的分析)、OOD(面向对象的设计)、OOP(面向对象的编程) 一体化

三、使用 Hibernate 的好处

1)解决了阻抗不匹配(关系模型与对象模型的不匹配)的问题

2)便于数据库的移植

3)透明持久化(即没有侵入性,不需要继承、实现接口,轻量级框架的重要特点)

四、Javaw优德88 com其他常见的 O/R 映射工具

1)OJB  (APACHE)

2)EJB  (CMP)

3)JDO(SUN)

4)TOPLINK(ORACLE)

5)MyBits

五、不适合使用 O/R 工具的场合

1)如果需要极高的性能,需要使用数据库特定的特性时。

2)如果需要大量的查询,查询后需要大量的批量更新操作时。

3)如果你的对象之间的关系非常复杂时。

 

 

六、Hibernate 的核心接口

1)Configuration 接口:配置 Hibernate、获取关系和对象的映射文件、启动 Hibernate、 创建 SessionFactory 对象。

2)SessionFactory 接口:初始化 Hibernate、充当数据存储的代理、创建 Session 对象。 它是线程安全的、它是重量级的(一般一个应用创建一个,用来存放预定义的 SQL

语句和映射元数据、可以配置 Hibernate 的二级缓存、存放读取过得数据)

3)Session 接口:负责保存、更新、删除、加载和查询对象。 它不是线程安全的、它是轻量级的(可以配置 Hibernate 一级缓存)

4)Transaction 接口:管理事务。

5)Query 和 Criteria 接口:执行数据库查询。

Query 执行 HQL 查询(面向对象的查询)、Criteria 封装了基于字符串形式的查询。

Javaw优德88 com

 

课程体系
通知公告
  • 爱尚教育_Javaw优德88 com|Pythonw优德88 com|软件测试w优德88 com|WEB前端w优德88 com|数据库w优德88 com|算法与数据结构w优德88 com|数据分析w优德88 com|大数据w优德88 com|新媒体运营w优德88 com
    马老师
    张老师
  • 024-28667511