gpt4 book ai didi

java - `org.springframework.transaction.annotation.Transactional` 的行为

转载 作者:行者123 更新时间:2023-12-01 20:27:53 24 4
gpt4 key购买 nike

假设我有以下 2 个类(class)。

class A {
private B b;

@Transactional
public void a(){
b.b();
//do a stuff
throw new RuntimeException("oops");
}
}

class B {
@Transactional
public void b(){
//do b stuff
}
}

在这种情况下,方法b()(或b东西)也会回滚吗?

最佳答案

在您的情况下,它将被回滚。

如果您的 B b; 由 Spring Autowiring (在您的情况下似乎不是)和 b() 上的 @Transactional方法具有传播 REQUIRES_NEW (当前默认 - REQUIRE),这意味着不使用现有事务而是启动一个新事务,因此只有在这种情况下,b() 上的提交才不会回滚。

关于java - `org.springframework.transaction.annotation.Transactional` 的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43636747/

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