gpt4 book ai didi

java - 使用 spring 和 hibernate 时, session /事务是如何处理的?

转载 作者:行者123 更新时间:2023-11-30 06:38:18 24 4
gpt4 key购买 nike

将 hibernate 与 spring 一起使用时,有人可以解释一下 session 工作单元和事务是如何处理的吗?

  1. 事务是否在页面请求开始时开始,并在结束时提交?
  2. 我可以为每个请求调用多个数据库,每个请求都有不同的事务级别吗?例如有些保留为默认值,而另一些则未提交读取?

最佳答案

is the transaction started at the beginning of the page request, and committed at the end?

在网络应用程序中,打开/关闭Session通常使用“Open Session in View”模式来完成。 Spring 带有一个 OpenSessionInViewFilterOpenSessionInViewInterceptor为了这。两者都使 Hibernate Sessions 可通过当前线程使用,这将由事务管理器自动检测。适用于通过 HibernateTransactionManager 进行服务层交易或 JtaTransactionManager以及非事务性执行(如果配置适当)。

事务划分通常在服务方法级别完成,使用 Spring AOP 将它们包装在事务中。

can I have multiple db calls per request, that each have different transaction levels? e.g. some are left as default, while others are read-uncommitted?

您可以拥有具有不同隔离级别的嵌套事务。引用Transaction Management章。

关于java - 使用 spring 和 hibernate 时, session /事务是如何处理的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2435705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com