gpt4 book ai didi

spring - 我们如何在 JDBC 中实现嵌套事务?

转载 作者:行者123 更新时间:2023-12-01 02:46:26 26 4
gpt4 key购买 nike

首先让我解释一下我所说的嵌套事务是什么意思。

示例:在我们调用的主类中说 method1并使用 jdbc[Transaction1] 创建客户。它尚未提交。现在我们打电话method2在主类中并为刚刚创建的客户 [Transaction2] 创建帐户。现在提交。根据您的解释,这两个事务都将被视为一个事务的一部分(因为一个连接最多可以有一个事务)。到这里,如果我们比较上面的场景,就会像propagation_requiredSpring .那是对的吗?

现在,如果我们只想提交 transaction2 而不是那个。那么这个场景会像propagation_Nested在 Spring 。那是对的吗?

如果我上面提到的两个假设都是正确的,我们如何在 JDBC 中实现嵌套事务?

最佳答案

这不完全是嵌套事务的工作方式。如果回滚事务 1,事务 2 也会回滚。使用嵌套事务,您可以回滚事务 2 并仍然提交事务 1。

在 JDBC 中,您可以使用保存点来实现这种效果。您可以在创建帐户之前调用 Connection.setSavepoint() ,如果您想回滚该操作但仍提交客户的创建,您可以回滚到该保存点。

如果您希望能够完全独立地提交/回滚两个事务,例如 Spring REQUIRES_NEW,则在 JDBC 中您应该使用两个连接并独立管理它们上的事务。

关于spring - 我们如何在 JDBC 中实现嵌套事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698749/

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