title: Should I use @Transactional using @EnableTransactionManagement?
body: <p>I've got a Spring Boot application. Everything works fine. I'm just trying to understand how does transaction manager work, because I have suspicion about my application. In particular, I'm a little confused about annotations.</p>
  
  <p>Here is <code>Application.java</code> (main class):</p>
  
  <pre><code>@SpringBootApplication(exclude = ActiveMQAutoConfiguration.class)
  @EnableScheduling
  public class Application extends SpringBootServletInitializer
  {
  
      @Override
      protected SpringApplicationBuilder configure (SpringApplicationBuilder builder) {
          return builder.sources(Application.class);
      }
  
      public static void main(String[] args)
      {
          SpringApplication.run(Application.class, args);
      }
  
  }
  </code></pre>
  
  <p>config class <code>DataConfig.java</code> looks like:</p>
  
  <pre><code>@Configuration
  @EnableTransactionManagement
  @ComponentScan("com.pr.hotel")
  @EnableJpaRepositories("com.pr.hotel")
  @PropertySource("classpath:application.properties")
  public class DataConfig
  {
      // code
  }
  </code></pre>
  
  <p>I'm worry about <code>@EnableTransactionManagement</code>. What exactly does this annotation mean? Should I use <code>@Transactional</code> in this case (I don't)?</p>