2017-03-05 187 views
-3

我在尝试设置通过hibernate的JPA连接,但是我不明白我的代码有什么问题。无法打开JPA EntityManager进行事务处理

我的配置:

@EnableTransactionManagement 
public class JPAConfig { 
    @Bean 
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() { 
     LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean = 
       new LocalContainerEntityManagerFactoryBean(); 

     JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); 
     localContainerEntityManagerFactoryBean.setJpaVendorAdapter(vendorAdapter); 

     DriverManagerDataSource driverManagerDataSource = 
       new DriverManagerDataSource(); 
     driverManagerDataSource.setUsername("root"); 
     driverManagerDataSource.setPassword(""); 
     driverManagerDataSource.setUrl("jdbc:mysql://localhost:3306/odontology"); 
     driverManagerDataSource.setDriverClassName("com.mysql.jdbc.Driver"); 

     localContainerEntityManagerFactoryBean.setDataSource(driverManagerDataSource); 

     Properties properties = new Properties(); 
     properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect"); 
     properties.setProperty("hibernate.show_sql", "true"); 
     properties.setProperty("hibernate.hbm2ddl.auto", "update"); 
     localContainerEntityManagerFactoryBean.setJpaProperties(properties); 
     localContainerEntityManagerFactoryBean.setPackagesToScan("org.odontology.models"); 

     return localContainerEntityManagerFactoryBean; 
    } 

    @Bean 
    public JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory){ 
     return new JpaTransactionManager(entityManagerFactory); 
    } 
} 

这是错误我得到:

org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Could not open connection 
+1

是数据库运行的(正确)?你能从一个外壳或其他东西连接到它吗? – niekname

+0

是的,即时访问数据库的命令“sudo mysql -u root” –

回答

相关问题