今天在开发公司spring项目时,发现事务失效,即@Transactional注解无法起效,查阅资料后发现原因有一下几点:
1.spring的事务默认只支持抛出runtime异常,如果要捕获exception,则需要指定异常类 @Transactional(rollbackFor = Exception.class)。
2.被try catch捕获的异常无法自动回滚,需要自己手动在catch时进行回滚。
3.service上需要加上注解@EnableTransactionManagement开启注解事务管理,等同于在xml中配置
<tx:annotation-driven transaction-manager=“transactionManager” />
开发笔记:关于spring的手动回滚
最新推荐文章于 2020-11-19 22:10:21 发布