服务交易中的Spring存储库交易

时间:2018-09-17 18:59:17

标签: spring hibernate transactions spring-data-jpa

我有1个问题:
spring数据jpa存储库中的隐式方法(findAll,保存等)为@Transactional。 因此,在这种情况下:

@Transactional
public void atomicTransaction() {
    repository1.save(entity);
    repository2.save(entity);
}

如果repository2#save失败并回滚,它是否传播到atomicTransaction(),以便reposotory1#save也回滚?

1 个答案:

答案 0 :(得分:0)

jpa存储库的@Transactional方法将打开微交易,除非它已经处于事务上下文中。在您的情况下,您已用{{1}}注释了该方法,这意味着它将被视为一个原子工作单元,即要么完全执行 要么它执行发生错误时回滚