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

Spring boot@transactional不回滚

权浩邈
2023-03-14

我使用的是Spring Boot应用程序,在上面我试图实现事务性管理。但是Spring不会回滚用相同方法保存的数据。

代码库:https://github.com/vinothr/spring-boot-transactional-example

@Repository
public interface TestRepository extends CrudRepository<com.example.demo.Test, Long> {

}
@GetMapping("/test")
@Transactional
public void create() {
    System.out.println("test");
    final Test p = createTest();
    testRepository.save(p);

    final Test p1 = createTest();
    testRepository.save(p1);
    throw new RuntimeException();
}

共有1个答案

缑泓
2023-03-14

尝试指示@transactional(rollbackFor=runtimeexception.class)

 类似资料:
  • 我是一个新的springboot和我正在考虑它为一个新的项目。在测试其功能时,我使用@Transactional注释总是失败。 我创建了一个小的MySql数据库,并将其连接到该数据库,设置此application.properties文件: 为什么?

  • 在我开始这看似很长的一段之前,我想对我可能收到的任何建议/建议表示感谢。朱约翰 我开发了一个简单的测试来帮助我理解spring的声明性(@Transactional)事务管理框架如何与spring的RESTful web服务结合使用。 为此,我开发了以下RESTful控制器: 其中,“tester”是以下服务类的bean,并自动连接到此控制器。类中唯一的方法是事务性的: 在上面,GenericDB

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

  • 主要内容:1.@Transactional 失败的情况,2.@Transactional 源码分析,3.@Transactional 失效原因1.@Transactional 失败的情况 UserDao UserController @Transactional 事务不生效的几种情况 类内部访问:A 类的 a1 方法没有标注 @Transactional,a2 方法标注 @Transactional,在 a1 里面调用 a2; 私有方法:将 @Transactional 注解标注在非 publi

  • 我在同一个测试类中有两个JUnit测试,每个都标记为@Transactional,第一个创建用户,第二个创建用户,并检查我们是否可以获得这些用户。 问题是,当第二个测试运行时,第一个测试创建的用户仍然在数据库中。 谢谢你抽出时间。

  • @Transactional标记是最近添加的。所以不确定它是否像预期的那样工作。 代码: 服务类别: