当前位置: 首页 > 知识库问答 >
问题:

java - spring boot事务注解回滚不生效是为啥?

陈茂
2024-08-16

共有2个答案

华旭
2024-08-16

用catch把异常给吃了,注解捕获不到异常,而且同一方法内的事务不生效

宁良平
2024-08-16

原因有多种:
1.调用test01处你是如何调用的?如果是这个类内部其他方法直接调用是不会走代理对象,spring事务是没办法添加逻辑的
2.是否存在多个数据源?存在多个数据源,需要配置多个事务管理器,在使用声明式事务一定指定事务管理器

 类似资料:
  • 我在Spring Boot应用程序中有一个Javers实现。Mongo4.4被用作数据库。从MongoDB4.4开始,您可以在事务中创建文档。 我在创建对象时模拟了一个异常。如预期的那样,对象没有在数据库中创建,但是一个新的快照被添加到jv_snapshots集合中。 控制器:

  • 我们有一个Spring事务回滚问题,其中回滚似乎不起作用 在用注释的服务层方法中,我调用三个不同的类来插入3条记录 中间插入从第四个表执行get以填充描述字段,但此get失败。我希望第一次插入会回滚,但它似乎没有发生 几点: 获取方法抛出运行时异常 我们使用和中定义的。Bean是在中创建的,它被导入到 在层 中没有 注释 我们已经使用了

  • 本文向大家介绍SpringBoot 注解事务声明式事务的方式,包括了SpringBoot 注解事务声明式事务的方式的使用技巧和注意事项,需要的朋友参考一下  springboot 对新人来说可能上手比springmvc要快,但是对于各位从springmvc转战到springboot的话,有些地方还需要适应下,尤其是xml配置。我个人是比较喜欢注解➕xml是因为看着方便,查找方便,清晰明了。但是xm

  • 这很好,但并不总是在代码中抛出运行时异常。因此,我挖掘并发现如下所示的rollbackFor; 现在,我必须更改所有代码,以使用RollBackfor更改@Transactional。但是还有其他方法可以将所有@transaction advice属性更改为rollbackFor=exception.class吗?

  • 我在下面的代码中使用了Spring的@Transactional注释和JDBC模板,它不回滚事务。我使用了随机文件名和表名。我正在尝试删除外键id的行,然后在名为“data”的数据库表中插入相同id的记录。但是当我测试的时候,我发现如果插入中有错误,删除就不会被回滚。我对Spring还是个新手,如果有任何帮助,我将不胜感激。 testRepository.java database.xml

  • 问题内容: 我在EJB3无状态会话Bean中使用CMT。另外,我还创建了自己的具有注释“ @ApplicationException(rollback = true)”的异常。 要回滚事务时是否必须使用“ context.setRollbackOnly()”? 我可以通过在bean的public方法内抛出异常来回滚事务吗? 如果是这样(对Q#2的回答是“是”),我是否必须通过在方法中声明异常来将异