Search code examples
spring-bootspring-data-jpaspring-transactions

Spring boot @Transactional doesn't rollback


I am using Spring boot application, on that i am trying to achieve Transactional management. But Spring doesn't rollback the data which saved in same method.

Code base: https://github.com/vinothr/spring-boot-transactional-example

Can any one help me?

This is my repository class for 'Test' entity.

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

}

I have created one end-point which used to save the data to 'Test' entity. After save happen, I thrown RunTimeException, but it is not rollbacking the saved value

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

Solution

  • It works fine after I changed into 'InnoDB' engine because I was using 'MyISAM' engine which doesn't support transaction.

    ALTER TABLE my_table ENGINE = InnoDB;