动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网

关于spring事务不生效的问题

啊哦

2019.04.12

在catch中throw new RuntimeException();事务不生效,然后使用手动回滚:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
报错如下:
org.springframework.transaction.NoTransactionException: No transaction aspect-managed TransactionStatus in scope

但是已经加@Transactional注解并且配置文件里面也配置事务管理器了

<!-- Hibernate 事务管理 -->
<bean id="transactionManager"
    class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 用注解来实现事务管理 -->
<tx:annotation-driven transaction-manager="transactionManager" />

添加回答

回答(1)

IT逐梦者

catch中抛出的异常是RuntimeException,可以在注解上加个rollbackFor 尝试一下, 比如:
@Transactional(rollbackFor = RuntimeException.class)

时间:04-13 11:11 查看回复 (1) 回复 2 0 举报

啊哦

不行..

时间:04-14 10:22 回复 举报

回复