spring-boot - 我想使用 @Transactional 注释在 Spring Boot 中嵌套事务
问题描述
目前,如果方法 C 发生异常,代码不会从方法 B 回滚数据库更改。我的期望是方法 A 应该以这样的方式管理事务,即如果方法 C 发生异常,代码应该回滚方法 B 中所做的更改。我是使用spring boot,maven项目。
class SomeClassA{
@Autowired
SomeClassB someClassB;
@Autowired
SomeClassC someClassC;
@Transactional
public A(){
try{
//This method works fine with some database operations.
someClassB.B();
//In this method, exception occurrs.
someClassC.C();
}
catch(Exception e){
}
}
}
class SomeClassB{
@Transactional
public B(){
//some code with database operation
}
}
class SomeClassC{
@Transactional
public C(){
//some code with database operation
//some exception occurs here
}
}
解决方案
推荐阅读
- html - 对面:悬停?
- react-native - 如何允许用户通过 Cognito 或 Social Provider 进行身份验证
- java - 将列更新为默认值而不在 Spring Data JPA 中指定它
- c++ - 如何对从 int 转换的十六进制数进行零填充?
- docker - 无法从 docker 容器连接到 aurora mysql 但可以使用命令行
- r - ggplot2 - 绘图着色不遵循线性比例
- c - c-如何在多个管道中同时读写?
- c - 如何将可变数量的参数传递给 sscanf?
- react-native - 拦截堆栈导航器上的后退按钮
- html - 如何确保动态表为每列提供适当百分比的空间?