当前位置: 首页 > 面试题库 >

什么是数据库会话?

阎劲
2023-03-14
问题内容

我了解对数据库事务处理概念的一般理解。我们访问事务内的数据库以确保ACID属性。

在Hibernate中,有一个称为会话的概念。会话的用途是什么?什么时候应该在两个会话中而不是在同一会话中进行数据库访问?

为了进一步说明,我已经看到了hibernate代码,

  • 从会话工厂获取会话
  • 打开会议
  • 开始交易
  • 提交交易
  • 关闭会议

我需要知道的是在这里召开会议的重要性是什么?为什么没有像交易工厂这样的东西,开始交易并提交交易呢?


问题答案:

会话不仅仅是一个事务,它是UnitOfWork模式的一种实现。换句话说,它保持加载的对象,知道哪些对象必须持久保存,等等:

工作单元会跟踪您在业务交易过程中可能影响数据库的所有操作。完成后,它会计算出由于工作而需要更改数据库的所有工作。

为了更好地理解Session和Transaction之间的关系,您可以看一下本文。

单个Hibernate会话可能具有与单个数据库事务相同的作用域。

这是用于每个请求会话实现模式的最常见的编程模型。单个会话和单个数据库事务实现特定请求事件(例如,Web应用程序中的Http请求)的处理。切勿使用每次操作会话反模式!(极少见的例外是每次操作会话可能适用,如果您只是学习Hibernate,则不会遇到这些例外。)

另一个编程模型是长时间对话的模型,例如,一个实现多步对话框(例如向导对话框)的应用程序,以便在几个请求/响应周期中与用户进行交互。一种实现此方法的方法是每个请求的对象分离会话模式。一旦持久性对象被认为在用户思考期间已分离,并且在修改它们后必须将它们重新附加到新的会话。

但是,建议使用“每次会话会话”模式。在这种情况下,单个会话的范围比单个数据库事务更大,并且可能跨越多个数据库事务。每个请求事件都在单个数据库事务中处理,但是会话的刷新将被延迟到会话结束和最后一个数据库事务为止,以使会话成为原子。在用户思考期间,会话保持断开状态,没有打开的数据库连接。Hibernate的自动乐观并发控制(带有版本控制)用于提供会话隔离。



 类似资料:
  • 我理解数据库事务概念的一般理解。我们在事务中访问数据库以确保ACID属性。 在Hibernate中有一个称为会话的概念。会话的用途是什么?何时应该在两个会话中而不是在同一会话中访问数据库? 为了解释更多,我看到了hibernate代码 从会话工厂获取会话 打开会话 开始事务 提交事务 关闭会话 我需要知道的是会话在这里的重要性是什么?为什么没有像事务工厂这样的东西,开始事务并提交事务?

  • 主要内容:关系型数据库,非关系型数据库在学习数据库之前,应该先理解什么是数据。本节先介绍数据以及数据库的概念,再对关系型数据库和非关系型数据库的优缺点进行分析。 描述事物的符号称为 数据。数据有多种表现形式,可以是数字,也可以是文字、图形、图像、声音、语言等。在数据库中数据表示记录,例如,在学生管理数据库中,记录学生的信息包括学号、姓名、性别、年龄、籍贯和联系电话等,这些信息就是数据。 信息是指对数据进行加工处理后提取的对人类社会实践

  • 问题内容: 我只是想知道数据库连接池的概念以及如何实现。 问题答案: 数据库 连接 池是一种用于保持数据库连接打开以便其他人可以重用的方法。 通常,打开数据库连接是一项昂贵的操作,尤其是在数据库是远程的情况下。您必须打开网络会话,进行身份验证,检查授权等。池化使连接保持活动状态,以便在以后请求连接时,优先使用活动的连接之一,而不必创建另一个连接。 请参阅下图,了解以下几段: 以最简单的形式,它只是

  • 主要内容:Oracle数据库的版本,甲骨文公司,Oracle的历史Oracle数据库是一个关系数据库管理系统。 它也叫OracleDB或简称Oracle。 Oracle数据库由Oracle公司生产和销售。 Oracle数据库是第一个专为企业网格计算而设计的数据库。 企业网格计算提供了最灵活,最经济的方式来管理信息和应用程序。 Oracle数据库的版本 Oracle数据库主要有四个版本,如下所示 - - 企业版: 它是最强大和最安全的版本。 它提供所有功能,包括卓

  • 数据库系统 (Database System,DBS)由硬件和软件共同构成。硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件部分主要包括数据库管理系统、支持数据库管理系统运行的操作系统,以及支持多种语言进行应用开发的访问技术等。 数据库系统是指在计算机系统中引入数据库后的系统。完整的数据库系统结构关系如图所示: 由图可知,一个完整的数据库系统一般由数据库、数据库管理系统、应用开发工具、

  • 本文向大家介绍数据库三范式是什么?相关面试题,主要包含被问及数据库三范式是什么?时的应答技巧和注意事项,需要的朋友参考一下 用自己的话解释,而不是背概念。 第一范式:字段不能有冗余信息,所有字段都是必不可少的。 第二范式:满足第一范式并且表必须有主键。 第三范式:满足第二范式并且表引用其他的表必须通过主键引用。 员工内部→自己的老大→外部的老大 记忆顺序:自己内部不重复→别人引用自己→自己引用别人