【问题标题】:Spring JPA transaction across methos跨方法的 Spring JPA 事务
【发布时间】:2024-04-29 16:00:02
【问题描述】:

我有一个带有 2 个方法的 spring 存储库,这两个方法可以单独调用,也可以一起调用。 我可以使用 @Transactional 注释使单独的方法调用具有事务性,但是如何跨方法进行事务。目的是在 method2 更新失败时也回滚 method1。

【问题讨论】:

标签: spring spring-data spring-data-jpa transactional


【解决方案1】:

您需要定义@Transactional 的传播。

标记所有方法
@Transactional(propagation = Propagation.REQUIRED)

REQUIRED 表示如果没有从调用方法打开的事务,它会打开一个新事务。如果有一个交易打开的更高,它只是被使用。

如果您需要单独的交易,请使用Propagation.REQUIRES_NEW

阅读更多here

【讨论】:

  • 我正在使用springBoot并扩展JpaRepository接口,没有使用Transactional注解注解的纯代码接口方法,如何使使用Transactional注解注解的2个方法在同一个事务中。
最近更新 更多