为什么我可以在没有@Transactional的情况下保存?

时间:2017-12-14 12:10:43

标签: java mysql hibernate spring-boot spring-data-jpa

简化示例:

fooService.save(myNewFoo)

从控制器调用@Transactional可以正常工作,而我预计它会失败(如果我理解正确的事务),因为没有方法用signing.loads注释(我实际上希望它失败)。知道为什么会这样做吗?谁在创建一个事件,以及如何避免这种情况?

其他详情:

  • Java 9
  • MySQL连接器6.0.6
  • Hibernate 5.2.12
  • Spring Boot 2.0.0.M7
  • Spring Data JPA 2.0.2.RELEASE

1 个答案:

答案 0 :(得分:0)

Spring提供的CrudRepository#save的实现默认创建一个事务。有关详细信息,请参阅the documentation