spring的事务是在调用业务方法之前开始的,业务方法执行完毕之后才执行commitorrollback,事务是否执行取决于是否抛出runtime异常。如果抛出runtime exception并在你的业务方法中没有catch到的话,事务会回滚。<br>在业务方法中一般不需要catch异常,如果非要catch一定要抛出throw new RuntimeException(),或者注解中指定抛异常类型@Transactional(rollbackFor=Exception.class),否则会导致事务失效,数据commit造成数据不一致,所以有些时候try catch反倒会画蛇添足。<br>6、数据库引擎不支持事务<br>这种情况出现的概率并不高,事务能否生效数据库引擎是否支持事务是关键。常用的MySQL数据库默认使用支持事务的innodb引擎。一旦数据库引擎切换成不支持事务的myisam,那事务就从根本上失效了。<br>总结<br>@Transactional 注解的看似简单易用,但如果对它的用法一知半解,还是会踩到很多坑的。<br>今天就说这么多,如果本文对您有一点帮助,希望能得到您一个点赞\ud83d\udc4d哦<br>您的认可才是我写作的动力!
LOWCARBON　WORLD　2016/1　重庆九龙坡至永川高速公路(成渝高速　扩能项目)缙云山隧道岩溶发育特征探析　彭兴和(重庆一三六地质队,重庆市　渝北区　40147)　要】重庆作为我国西南地区唯一一个直辖市,已逐渐成为西南地区的政治、文化、经济中心,然而以山区为主的特殊地形地貌严重制约着我市交通业的发展,因交通网络发展的局限性影响了我市经济的快速增长,从而影响人民生质量的提高。作为五个“重庆”之一的“畅通重庆”,　近年来我市交通业特别是高速公路、铁路得到了迅速发展,然而因我市特殊的地形地貌格局,给交通线路的选择带来诸多局限。为弄清楚线路　通过区的地质特征尤其是线路穿越的隧道水文地质特征,重庆市各大水文地质勘察队伍承担起了我市的水文地质勘察工作。