跨越方法的Spring JPA事务

时间:2017-12-19 04:18:32

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

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

1 个答案:

答案 0 :(得分:0)

您需要定义@Transactional的传播。

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

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

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

了解更多here