当前位置:   article > 正文

Spring boot 事务问题_spring多次调用查询

spring多次调用查询

Spring boot 的事务

Spring boot 的事务一直表现一些奇怪的特点,现在一一列举一下,留作参照。

事务 @Transactional 注解不生效

事务不生效的原因有很多,其他的都可以理解,但有一个确实不可理喻。当 @Service 第一个方法没有使用 @Transactional 注解时,后续调用的方法即使使用 @Transactional 注解。事务也不会开启。

在同一个 @Service 注解类下的不同 @Transactional 不能同时生效

这是spring 事务的奇怪特性。比如我要在 catch 里执行一些事务方法(关闭订单等。),我需要使用 @Transactional(propagation = Propagation.REQUIRES_NEW) 开启一个独立事务,避免被主事务回滚。然而,不行!至少你不能写在同一个 Class 类里。你必须在另一个 Class 里的方法加入 @Transactional(propagation = Propagation.REQUIRES_NEW) 才能生效。
原因:同一个类的的方法调用不是使用spring的代理调用,而是类似于 this.xxx, 这个是类方法本身的调用无法使用事务aop

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/995358
推荐阅读
相关标签
  

闽ICP备14008679号