gpt4 book ai didi

java - JPA 和 JTA 模式下的事务(开始和提交)

转载 作者:行者123 更新时间:2023-11-30 08:20:33 25 4
gpt4 key购买 nike

我已经使用 JPA 实践过 JTARESOURCE_LOCAL 模式,这两种模式之间存在巨大差异。

当我使用 RESOURCE_LOCAL 时,我必须自己使用 EntityTransaction 管理事务,而当我使用 JTA 时,它由应用程序服务器隐含地完成.

所以我想知道在JTA模式下begin()commit()方法是什么时候执行的。

我假设当应用程序服务器收到一个 HTTP 请求时它执行“begin()”,并且在向客户端发送 HTTP 响应之前它执行“commit()” ";此外,如果在发送响应之前发生错误,它会执行“rollback()”。我说得对吗?

最佳答案

JPA 规范没有定义在使用 JTA 事务时触发 begincommit 的确切位置。

事务控制与 HTTP 请求/响应无关,也不会被它们触发。

将为所有事务性方法(默认情况下所有 EJB 方法)提供独立于其目的的 JTA 事务。

但是,考虑到 JTA 事务和 JPA,有一些保证。事务保证在第一次调用 EntityManager 时开始,并保证在方法返回之前提交或回滚。

关于java - JPA 和 JTA 模式下的事务(开始和提交),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25974191/

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