[英]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.