博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate详解
阅读量:5147 次
发布时间:2019-06-13

本文共 1436 字,大约阅读时间需要 4 分钟。

Hibernate 架构

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

下面是一个非常高水平的 Hibernate 应用程序架构视图

以下资料整理于:

下面是一个详细的 Hibernate 应用程序体系结构视图以及一些重要的类

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

下面的部分简要地描述了在 Hibernate 应用程序架构所涉及的每一个类对象

配置对象

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

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

SessionFactory 对象

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

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

Session 对象

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

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

Transaction 对象

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

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

Query 对象

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

Criteria 对象

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

 

Hibernate 配置

链接:

 

Hibernate 会话(session)

链接:

 

Hibernate 查询语言

链接:

转载于:https://www.cnblogs.com/lindaiyu/p/10963837.html

你可能感兴趣的文章
一元享移动怎么样_中国移动终于认怂?29元享100G流量还不限速,网友:后悔携号转网了...
查看>>
redis将散裂中某个值自增_java面试题30道
查看>>
c 通过成员变量地址 获取类对象地址_【C++学习笔记(十二)】之类中成员变量与成员函数的存储...
查看>>
a标签onclick不执行_你不知道的DOM操作
查看>>
object标签与embad掉钱_海口本地钯盐回收厂家-回收多少钱-源祥-金银饰品回收
查看>>
vue 属性是变量_Vue实战060:require与import的区别和使用
查看>>
json vue 对象转数组_vue $set详细教程 当数组或对象发生改变及时展示在页面上...
查看>>
lisp xy轴不等比缩放_Origin2017单y多x轴图片画法
查看>>
阿联酋esma认证_阿联酋发布全新的校车安全规则
查看>>
voip 音频采集时间_天津北星博辉互联网信息服务有限公司招聘日语音频审核
查看>>
apn描述文件下载_iOS 13描述文件放出 可以提前尝鲜啦!(附下载)
查看>>
win7更新错误0x800b0109_幺蛾子真多!Windows更新又闯祸了
查看>>
工业机器人什么情况下会出现奇点_汽车为什么会烧机油?车辆在什么情况下会出现烧机油的情况?...
查看>>
vant 带关闭按钮div_小米升级MIUI 11后,请先调整这3个按钮,不然电池会变得很不耐用...
查看>>
泰坦机器人节目秀_请自觉遵守规章制度,巡逻机器人正在执勤!
查看>>
手机闪存速度排行_你的手机在里面吗?目前几款主流处理器排行
查看>>
私有方法不能被子类覆盖_Java核心技术,继承:类+继承层次+强制类型转换+多态+抽象类...
查看>>
冯珊珊_专访一姐冯珊珊(上):高尔夫有助于K12教育 进社区将是趋势
查看>>
删除注册表文件_为了保护个人隐私,用这4招删除win10中的搜索历史记录
查看>>
3控制ie文档模式_Chromium版Edge浏览器将支持多平台,Windows版支持IE模式
查看>>