同一个类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,而调用者应该不用加,待确认。

最新文章

  1. Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结
  2. 搜索引擎Solr系列(一): Solr6.2.1环境搭建
  3. Linux中的shell
  4. MVC缓存01,使用控制器缓存或数据层缓存
  5. wrk 进程管理
  6. DataTable或者DataRow转换对象
  7. windows命令行编码与nodejs编码格式冲突的解决方式
  8. 新年Uber司机端换新装啦!
  9. Linux系统下如何查看CPU个数
  10. Lesson2.1:LinkedList、ConcurrentLinkedQueue、LinkedBlockingQueue对比分析
  11. hdoj 5249 KPI(treap)
  12. Adding DOM elements to document
  13. JS中的循环结构
  14. 【DeepLearning】深入理解dropout正则化
  15. Python3基础-Python作用域详述(转载)
  16. CodeBlocks切换中文
  17. git 创建标签和删除标签
  18. 【hdu3709】 Balanced Number
  19. Google免费GPU使用教程(Google Colab Colaboratory)
  20. Notes 20180310 : String第二讲_String的声明与创建

热门文章

  1. MongoDB学习笔记 1.1
  2. 输出到Excel
  3. centos7下open--v!(p/n)部署
  4. msyql 优化之五不要
  5. [转] Linux多线程编程之pthread
  6. vector利用swap()函数进行内存的释放
  7. sh_07_函数的嵌套调用
  8. [BZOJ4305]数列的GCD:莫比乌斯反演+组合数学
  9. Mysql 数据库锁表的原因和解决方法
  10. Mybaits配置多个数据库操作sql环境