Spring Data中不需要事务行为

时间:2019-07-17 19:00:31

标签: spring-transactions

我试图弄清楚如何使用Spring配置一种不在事务内运行的方法。我已经阅读到默认情况下,Spring Data存储库会在其方法中激活事务行为。我不需要此事务,因为我对存储库有许多“保存”调用,并且每个调用都彼此独立。我认为为存储库方法的每次调用创建事务都会减慢代码和应用程​​序的性能。因此:

  • 这是否可能或每个服务或dao方法必须在事务中运行?
  • 如果有,为什么?
  • 如果可能,如何配置不在事务内运行的方法?只是删除Spring事务注释?

谢谢

1 个答案:

答案 0 :(得分:0)

默认情况下,Spring服务bean不是事务性的。您可以在类或方法级别添加@Transactional,以强制其具有事务性。以下是一些链接,详细说明了Spring的事务处理方式。
What is the difference between defining @Transactional on class vs method
Spring - @Transactional - What happens in background?
https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/transaction.html#tx-decl-explained

下面的线程中也对此进行了讨论。
Is Spring @Service transactional?