淘先锋技术网

首页 1 2 3 4 5 6 7

事务控制一般在一些比较重要的业务都需要考虑。

进入正题,关于事务Transactional 的要点以及使用方式:

 

@Transactional

1.需要将使用事务注解的方法设置为public;

2.如果没有在注解后做异常配置,只会对手动抛出的  throw new RuntimeException() 起作用;

3.若想对其余异常起作用,则需做类似配置 @Transactional(rollbackFor= Exception.class) ;

4.手动回滚,在使用注解后,在需要执行事务回滚的地方,TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

(使用手动回滚,就不需要抛异常了)

 

很多时候往往抛出异常进行回滚后无法return或者做一些其余的逻辑,那么这种情况使用手动事务回滚是非常不错的。