事务注解@Transactional不起作用的原因总结

事务注解@Transactional不起作用的原因总结

一、事务配置正确的前提下,出现事务不起作用的原因:

  1. 异常被try{}catch(){}捕捉到了,有异常就不会回滚。
    使用@Transactional注解注意事项:
    配置​
    当本类的使用@Transactional的方法被本类的其它没有开启事务的方法调用时,不会开启事务。使用@Transactional的方法被其它类调用时,按照正常的事务传播行为规则开启事务

二、数据库引擎要支持事务

  1. 如果是mysql,注意表要使用支持事务的引擎,比如innodb,如果是myisam,事务是不起作用的

  2. 是否开启了对注解的解析
    配置文件必须加,否则不解析@Transactional

你可能感兴趣的:(java)