SpringBoot事务@Transactional失效的常见问题之一

SpringBoot事务 | 未生效 | 无效 | 不生效 | 不回滚 | 不起作用
如果你使用了 @Transactional 和 @EnableTransactionManagement 没有生效,那么你看看在事务注解包含的方法内是否使用try-catch了。默认事务回滚对于try-catch的代码不会生效,如果必须try-catch又要事务生效,则需要在catch块内手动回滚。但是不推荐这么写,推荐Service层将异常往上抛,Controller层去捕获处理。

关于手动回滚,你可以看这里

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//进行手动回滚

//设置回滚点
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
....
//回滚到savePoint
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);

 

当然我遇到的只是事务不生效的原因之一,可能并不适用你所遇到的情况,仅作为备忘使用,如果能恰巧帮到你那就呱唧一下


__EOF__

本文作者之乏
本文链接https://www.cnblogs.com/zhifa/p/13187176.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   之乏  阅读(1432)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示