繁体   English   中英

Spring Boot @Transactional不回滚

[英]Spring boot @Transactional doesn't rollback

我正在使用Spring Boot应用程序,因此我正在尝试实现事务管理。 但是Spring不会回滚以相同方法保存的数据。

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

谁能帮我?

这是我的“测试”实体的存储库类。

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

}

我创建了一个端点,该端点用于将数据保存到“测试”实体。 保存发生后,我抛出了RunTimeException,但它没有回滚保存的值

@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();
}

尝试指出@Transactional(rollbackFor = RuntimeException.class)

在更改为“ InnoDB”引擎后,它可以正常工作,因为我使用的是不支持事务处理的“ MyISAM”引擎。

ALTER TABLE my_table ENGINE = InnoDB;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM