加了Transactional注解不回滚?

最近做一个虚拟货币系统,一个转账操作,我在service层用了try catch,返回不同结果给controller,



加了Transactional注解不回滚?_第1张图片


第二个update操作有异常,但是死活不回滚,

网上查了一下,说checked异常是不回滚的,要自己加上rollbackFor,于是加上了

rollbackFor=Exception.class


加了Transactional注解不回滚?_第2张图片

结果还是不回滚!

(增加:2017.10.19 这里不回滚是因为我catch里面没有手动抛出异常!!!注解的事务回滚是默认RunTimeException才会回滚,如果抛出的不是RunTimeException,spring是默认不会回滚的。  并且,程序中try catch了,哪怕是RunTimeException,也是不会回滚的。一定要抛出异常,)

么办法,把try catch去掉了,在controller处理了,这下就好了。


加了Transactional注解不回滚?_第3张图片

这才隐约记起学SpringMVC说异常统一在controller处理,

学艺不精啊。

你可能感兴趣的:(加了Transactional注解不回滚?)