Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
非活动事务:javax.persistence.TransactionRequiredException:执行更新/删除查询_Java_Spring_Hibernate_Spring Data Jpa - Fatal编程技术网

非活动事务:javax.persistence.TransactionRequiredException:执行更新/删除查询

非活动事务:javax.persistence.TransactionRequiredException:执行更新/删除查询,java,spring,hibernate,spring-data-jpa,Java,Spring,Hibernate,Spring Data Jpa,我也有同样的问题。我使用的是spring 4.2.2.0版本 我有一个基于Java的配置 @Configuration @EnableTransactionManagement @ComponentScan(basePackages={"com.mypackage"}) public class InfrastructureConfig { @Autowired Environment env; @Autowired private DataSource data

我也有同样的问题。我使用的是spring 4.2.2.0版本

我有一个基于Java的配置

@Configuration 
@EnableTransactionManagement 
@ComponentScan(basePackages={"com.mypackage"}) 
public class InfrastructureConfig { 

   @Autowired Environment env;     
   @Autowired private DataSource dataSource; 


   @Bean 
   public JpaTransactionManager transactionManager() { 
       JpaTransactionManager jpaTransactionManager = new JpaTransactionManager(); 
       jpaTransactionManager.setEntityManagerFactory(entityManagerFactory()); 
       return jpaTransactionManager; 
   } 

   @Bean 
   public EntityManagerFactory entityManagerFactory() { 
      LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); 
      em.setDataSource(dataSource); 
      em.setPersistenceUnitName("javaconfigPU"); 
      em.setPackagesToScan("com.mypackage"); 
      em.setJpaVendorAdapter(jpaVendorAdaper()); 
      em.setJpaPropertyMap(additionalProperties()); 
      em.afterPropertiesSet(); 
      return em.getObject(); 
   } 

   public JpaVendorAdapter jpaVendorAdaper() { 
       HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); 
       ...  
       return vendorAdapter; 
   } 

   private Map<String, Object> additionalProperties() { 
       Map<String, Object> properties = new HashMap<String, Object>(); 
       ...
       return properties; 
   } 

 }
@transactional来自spring

我有一个javax.persistene.TransactionRequiredException,当我不使用@transactional时,或者我把它放在没有属性的地方,或者我把它放在有属性的地方


我的代码在另一个应用程序中运行良好,它在3周前运行良好。

我也尝试过通过以下示例以编程方式开始事务,但我再次遇到了javax.persistence.TransactionRequiredException:执行更新/删除查询我已经找到了异常的原因。这是因为另一个名为transactionManager的bean重写了在InfrasctuctureConfig类中创建的第一个transactionManager。我也尝试通过以下示例以编程方式开始事务,但我再次得到了javax.persistence.TransactionRequiredException:执行更新/删除查询我已找到异常的原因。这是因为有另一个名为transactionManager的bean重写了在InfrasctuConfig类中创建的第一个transactionManager。
@Service 
public class MyService { 

    @Autowired private MyRepository myRepo; 
    @Transactional 
    public void myMethod(MyEntity myEntity){ 
        myRepo.save(myEntity); 
    } 
}