休眠架构概述

下图提供了Hibernate体系结构的高级视图:

最小的架构

“最小”架构使应用程序可以管理自己的JDBC连接,并提供与Hibernate的连接。 另外,应用程序自行管理交易。 这种方法使用了最少的Hibernate API子集。

综合架构

Hibernate Basic API

这里是有关上图中描述的一些API对象的快速讨论。

SessionFactory(org.hibernate.SessionFactory)

单个数据库的线程安全,不变的已编译映射缓存。 org.hibernate.Session实例的工厂。 org.hibernate.connection.ConnectionProvider的客户端。 (可选)维护数据的第二级缓存,该数据可在流程或集群级别的事务之间重用。

会话(org.hibernate.Session)

单线程,短暂的对象,表示应用程序与持久性存储之间的对话。 包装JDBC java.sql.Connection。 org.hibernate.Transaction的工厂。 维护持久性应用程序的持久性对象和集合的第一级缓存; 在导航对象图或通过标识符查找对象时使用此缓存。

持久对象和集合

短暂的单线程对象,包含持久状态和业务功能。 这些可以是普通的JavaBeans / POJO。 它们仅与一个org.hibernate.Session相关联。 一旦org.hibernate.Session关闭,它们将被分离并且可以在任何应用程序层中自由使用(例如,直接作为与表示之间的数据传输对象)。

瞬态和分离的对象和集合

当前未与org.hibernate.Session关联的持久化类的实例。 它们可能已被应用程序实例化但尚未持久化,或者可能已被关闭的org.hibernate.Session实例化。

交易(org.hibernate.Transaction)

(可选)应用程序用于指定原子工作单元的单线程短期对象。 它从底层的JDBC,JTA或CORBA事务中抽象应用程序。 在某些情况下,一个org.hibernate.Session可能跨越多个org.hibernate.Transactions。 但是,使用基础API或org.hibernate.Transaction进行事务划分永远不是可选的。

ConnectionProvider(org.hibernate.connection.ConnectionProvider)

(可选)JDBC连接的工厂和池。 它从基础javax.sql.DataSource或java.sql.DriverManager中抽象应用程序。 它没有公开给应用程序,但是可以由开发人员扩展和/或实现。

TransactionFactory(org.hibernate.TransactionFactory)

(可选)org.hibernate.Transaction实例的工厂。 它没有公开给应用程序,但是可以由开发人员扩展和/或实现。

扩展接口

Hibernate提供了一系列可选的扩展接口,您可以实现这些接口来自定义持久层的行为。 有关详细信息,请参见API文档。

翻译自: https://www.javacodegeeks.com/2017/06/hibernate-architecture-overview.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core MVC 之过滤器(Filter)

ASP.NET MVC 中的过滤器允许在执行管道中的特定阶段之前或之后运行代码。可以对全局,也可以对每个控制器或每个操作配置过滤器。 1.过滤器如何工作 不同的过滤器类型在管道中的不同阶段执行,因此具有各自的与其场景。根据需要执行的任务以及需要执行的请…

.sh文件是什么语言_FastDFS分布式文件系统的搭建安装

FastDFS很久之前,对上传的文件可能是存储在数据库,在数据库中存储路径,保存文件的二进制数据,随着用户上传的文件增加,数据库数据越来越多。这时,可以使用分布式文件系统,将用户上传的文件例如图…

ASP.NET Core MVC 之依赖注入 View

ASP.NET Core 支持在试图中使用依赖注入。这将有助于提供视图专用的服务,比如本地化或者仅用于填充视图元素的数据。应尽量保持控制器和视图之间的关注点分离。视图所显示的大部分数据应该从控制器传入。 使用 inject 指令将服务注入到视图,语法 inject …

matlab全安装多大_不理会其他,我只中意T20天正V2.0软件,激活安装教程在这里...

大家好,我是本文的小编 软妹,前几篇为大家分享了Proe系列软件的安装步骤,在设计三维设计领域Pro/E是现今主流的CAD/CAM/CAE软件一款软件,特别是在国内产品设计领域占据重要位置。在数控加工编程软件领域,哪款软件才是王…

couchbase_Couchbase 2.0归类视图简介

couchbase大多数应用程序必须处理“主/详细”类型的数据: 啤酒厂和啤酒 部门和员工 发票和项目 … 例如,创建如下所示的应用程序视图是必需的: 借助Couchbase和许多面向文档的数据库,您可以使用不同的方式来处理此问题&…

NOIP模拟测试20「周·任·飞」

liu_runda出的题再次$\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%\%$ 任 题解 题目中为什么反复强调简单路径,没有环 没有环的图中点数-边数联通块数 前缀和维护边的前缀和,和点的前缀和, 在维护边的前缀和不好维护转化为横着边前缀和,竖着边前缀和 注意边的边界问题 看边如何维护 就拿…

如何脚踏实地构建Java Agent

在构建Plumbr的多年中,我们遇到了许多具有挑战性的问题。 在其他方面,使Plumbr Java Agent可靠地执行而又不危害客户的应用程序,是一个特别棘手的任务。 从实时系统中安全地收集所有需要的遥测会带来很多问题。 其中一些非常简单,…

ASP.NET Core MVC 之依赖注入 Controller

ASP.NET Core MVC 控制器应通过构造函数明确地请求它们地依赖关系,在某些情况下,单个控制器地操作可能需要一个服务,在控制器级别上的请求可能没有意义。在这种情况下,也可以将服务作为 Action 的参数。 依赖注入是一种如 Depend…

16g内存 32g内存游戏区别_电脑内存8G和16G的差别大吗?打游戏需要多大内存?

Hello大家好,我是兼容机之家的小牛。电脑内存是除了CPU之外最重要的元件之一,电脑内存的多少直接影响着运行大型软件、多任务时电脑的流畅程度,很多玩家在第一次购买电脑的时候并不知道应该购买内存多大的电脑,今天小牛就来和大家…

用友U9执行JS代码。

UFSoft.UBF.UI.AtlasHelper.RegisterAtlasStartupScript(part.Page, part.Page.GetType(), "JavaScriptExecQueue", "alert(地球即将毁灭,进入倒计时:5,4,3,2,1…嘣!嘣&#xff…

java培训学费_北京Java培训班学费很贵吗,包含了哪些收费项目

北京的Java培训班有很多,价格却是相差不多的,但培训的课程就参差不齐了,有的培训班就是为了赚钱而存在的,想要系统的学习Java,确保学习效果,那么你一定要挑选正规的Java培训班,挑选适合自己的Ja…

typora.io使用教程

引言:对于开发人员大部分都接触过.md文件,而typora.io就是专门编辑.md文件的工具,该工具对于编写接口文档特别方便,它提供了word类似的大纲视图,同时也提供了很多的功能,但是改软件本身却非常的小&#xff…

c#编译时提高兼容性_幻像类型提高了编译时的安全性

c#编译时提高兼容性介绍 使用幻像类型是一种非常简单的技术,可用于提高代码的编译时安全性。 有很多潜在的用例,其复杂性程度各不相同,但是即使幻像类型的轻量级使用也可以显着提高编译时的安全性。 幻像类型只是带有未使用类型参数的参数化类…

如何查看电脑显卡配置_3080显卡电脑配置清单(3700X/10700)

3080显卡昨天就解禁评测了,因为最近的老铁都很期待装3080的机器,我这边做了一些整理,方便各位老铁3080配置有综合的了解。3080显卡售价更加详尽的3080厂家整理可以参考:3080公版哪里买?(所有厂家整理&#…

问题 1074: 数字整除

题目描述定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。 例如,34是17的倍数,因为3-20-17是17的倍数;201不是17的倍数&#xff0c…

GWT HTTP请求替代

由于多种原因 ,许多GWT用户放弃了RPC机制,这是GWT提供的调用后端的标准方法。 他们发现,在GWT RequestBuilder与其他可能不适合其应用程序模型的外部库之间迷失了许多 。 这篇文章的目的是通过GWT中众所周知的HTTP / Rest库,以使情…

极限中0除以常数_基本不等式中常用公式百度作业帮

1. 基本不等式中常用公式基本不等式中常用公式:(1)√((ab)/2)≥(ab)/2≥√ab≥2/(1/a1/b)。(当且仅当ab时,等号成立)(2)√(ab)≤(ab)/2。(当且仅当ab时,等号成立)(3)ab≥2ab。(当且仅当ab时,等号成立)(4)ab≤(ab)/4。(当且仅当ab时…

NOIP模拟测试24「star way to hevaen·lost my music」

star way to heaven 题解 大致尝试了一下并查集,记忆化搜索,最小生成树 最小生成树是正解,跑最小生成树然后找到最大的值 欧几里德距离最小生成树学习 prim楞跑 至于为什么跑最小生成树不是跑最大生成树,你跑最大生成树连的边可能会^%$&$%!# 感性理解手膜吧,我理解但说不清…

NOIP模拟测试25「字符串·乌鸦喝水·所陀门王的宝藏(陀螺王)」

字符串 题解 没看出catalan怎么办 dp打表啊! 考虑大力dp拿到30分好成绩!顺便收获一张表 打表发现$C_{nm}^{m}-C_{nm}^{m-1}$ 仔细观察然后发现其实就是之前的网格那个题 那么我们回顾一下网格那个题 先看最简单的nm情况 求左下角走到右上角方案数,不能经过中间那条线 考虑大力容…