【解决问题】Transaction was marked for rollback only; cannot commit
问题现象:
导入文件的时候直接报错:
Transaction was marked for rollback only; cannot commit; nested exception is org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit
中文意思大概是:事务是进行回滚的,不能直接提交
原因分析:
1.代码截图如下:
2.代码分析:
事务是执行数据库插入等动作的时候,出现异常进行回滚的,也就是必须发生异常 ,捕捉到异常才行,仔细查看代码,try…catch 已经捕捉异常了,但是并没有进行异常抛出,那么事务注解就没有任何意义。
根据分析,去掉try…catch,重新测试,不在出现错误
3.原因
添加事务注解后,不能捕捉异常或者捕捉异常需要在抛出,不然事务注解没有意义
还没有评论,来说两句吧...