SpringBoot整合Hibernate

Hibernate定义

一、什么是Hibernate

Hibernate 是一个高性能的对象关系型持久化存储和查询的服务,不仅关注于从 Java 类到数据库表的映射,也有 Java 数据类型到 SQL 数据类型的映射,另外也提供了数据查询和检索服务。

Hibernate ORM简介

一、什么是JDBC

JDBC全称: Java Database Connectivity。它是提供了一组 Java API 来访问关系数据库的 Java 程序。

关于JDBC详细内容,参考如下链接:

JDBC-访问关系型数据库的API标准

二、什么是ORM

ORM全称:Object Relational Mapping 。即:对象关系映射。是一个在关系数据库和Java等面向对象的编程语言中转换数据的技术。

所谓对象关系映射,包含以下3个方面:

  1. 数据库中的一张表对应java中的一个实体类
  2. 表中的一个字段对应实体类中的一个变量
  3. 表中的一条记录对应java的一个对象

Hibernate简介

Hibernate 将 Java 类映射到数据库表中,从 Java 数据类型中映射到 SQL 数据类型中。

Hibernate 是传统 Java 对象和数据库服务器之间的桥梁,用来处理基于 O/R 映射机制和模式的那些对象。

在这里插入图片描述

Hibernate 架构

一、架构体系

Hibernate 架构是分层的,作为数据访问层,你不必知道底层 API(Application Programming Interface,应用程序接口)。Hibernate 利用数据库以及配置数据来为应用程序提供持续性服务(以及持续性对象)。

Hibernate 应用程序架构视图:

在这里插入图片描述
Hibernate 应用程序体系结构视图以及一些重要的类:

在这里插入图片描述

Hibernate 使用不同的现存 Java API,比如 JDBC,Java 事务 API(JTA),以及 Java 命名和目录界面(JNDI)。JDBC 提供了一个基本的抽象级别的通用关系数据库的功能, Hibernate 支持几乎所有带有 JDBC 驱动的数据库。JNDI 和 JTA 允许 Hibernate 与 J2EE 应用程序服务器相集成。

二、配置对象

配置对象是你在任何 Hibernate 应用程序中创造的第一个 Hibernate 对象,并且经常只在应用程序初始化期间创造。它代表了 Hibernate 所需一个配置或属性文件。配置对象提供了两种基础组件。

  1. 数据库连接:由 Hibernate 支持的一个或多个配置文件处理。这些文件是 hibernate.propertieshibernate.cfg.xml
  2. 类映射设置:这个组件创造了 **Java 类和数据库表格**之间的联系。

(1)SessionFactory 对象

被用于创造一个 SessionFactory 对象,使用提供的配置文件为应用程序依次配置 Hibernate,并允许实例化一个会话对象。SessionFactory 是一个线程安全对象并由应用程序所有的线程所使用

它是在应用程序启动时创造然后留存为以后使用。每个数据库需要一个 SessionFactory 对象使用一个单独的配置文件。所以如果你使用多种数据库那么你要创造多种 SessionFactory 对象。

(2)Session 对象

被用于与数据库的物理连接。Session 对象是轻量级的,每次实例化都需要与数据库的交互。持久对象通过 Session 对象保存和检索。

Session 对象不应该长时间保持开启状态因为它们通常情况下并非线程安全,并且它们应该按照所需创造和销毁。

(3)Transaction 对象

一个事务代表了与数据库工作的一个单元并且大部分 RDBMS(关系型数据库) 支持事务功能。在 Hibernate 中事务由底层事务管理器和事务(来自 JDBC 或者 JTA)处理。

这是一个选择性对象,Hibernate 应用程序可能不选择使用这个接口,而是在自己应用程序代码中管理事务。

(4)Query 对象

Query 对象使用 SQL 或者 Hibernate 查询语言(HQL)字符串在数据库中来检索数据并创造对象。一个查询的实例被用于连结查询参数,限制由查询返回的结果数量,并最终执行查询。

(5)Criteria 对象

Criteria 对象被用于创造和执行面向规则查询的对象来检索对象。

SpringBoot整合Hibernate

参考链接:

SpringBoot整合JPA

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YD_1989

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值