spring boot @Transactional的一个小坑
2024-10-07 04:59:53
同一个类Service下,有两个函数 method_1和 method_2,且method_1内部调用了method_2,那么希望method_2内部意外时,数据库回滚,那么一定要在method_1上加上 @Transactional。
@Service
@Component
class MyClass{ //method_1的@Transactional一定要加
@Transactional(timeout=20,rollbackFor={Exception.class})
public function method_1(){
//1.组装要插入dao层的各类数据
//...
//2.调用method_2
this.method_2();
} //method_2上的@Transactional可加可不加,加上了,让调用的人知道,这个是要走事务的
@Transactional(timeout=20,rollbackFor={Exception.class})
public function method_2(){
//调用dao层
}
}
另外,跨类调用时,貌似被调用的一定要加@Transactional,而调用者应该不用加,待确认。
最新文章
- Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结
- 搜索引擎Solr系列(一): Solr6.2.1环境搭建
- Linux中的shell
- MVC缓存01,使用控制器缓存或数据层缓存
- wrk 进程管理
- DataTable或者DataRow转换对象
- windows命令行编码与nodejs编码格式冲突的解决方式
- 新年Uber司机端换新装啦!
- Linux系统下如何查看CPU个数
- Lesson2.1:LinkedList、ConcurrentLinkedQueue、LinkedBlockingQueue对比分析
- hdoj 5249 KPI(treap)
- Adding DOM elements to document
- JS中的循环结构
- 【DeepLearning】深入理解dropout正则化
- Python3基础-Python作用域详述(转载)
- CodeBlocks切换中文
- git 创建标签和删除标签
- 【hdu3709】 Balanced Number
- Google免费GPU使用教程(Google Colab Colaboratory)
- Notes 20180310 : String第二讲_String的声明与创建