2016-09-12 86 views
0

我有一個用Java配置的持久性。沒有persistence.xml。 Intellij向我展示了entityManagerFactory和Persistence窗口中的實體。查詢在應用程序中運行正常。如何使用java配置在Intellij中配置Hibernate控制檯?

如何讓Intellij中的hibernate控制檯運行查詢?

我得到

[2016-09-12 14:09:07] java.lang.NoSuchMethodError: org.hibernate.Session.createQuery(Ljava/lang/String;)Lorg/hibernate/Query 

方言是hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect

的配置是:

@Configuration 
@EnableTransactionManagement 
@PropertySource({ "file:${view.config}" }) 
@ComponentScan({ "my.me.model" }) 
public class PersistenceConfig { 

private static Logger logger = LoggerFactory.getLogger(PersistenceConfig.class); 

@Autowired 
private Environment env; 

@Bean 
public LocalContainerEntityManagerFactoryBean entityManagerFactory(){ 
    LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); 
    em.setDataSource(dataSource()); 
    em.setPackagesToScan("my.me.model"); 

    JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); 
    em.setJpaVendorAdapter(vendorAdapter); 
    em.setJpaProperties(hibernateProperties()); 
    return em; 
} 

@Bean 
@Autowired 
public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) { 
    JpaTransactionManager txManager = new JpaTransactionManager(); 
    txManager.setEntityManagerFactory(entityManagerFactory); 
    return txManager; 
} 

@Bean 
public DataSource dataSource() { 
    BasicDataSource dataSource = new BasicDataSource(); 
    dataSource.setDriverClassName(env.getProperty("jdbc.driverClassName")); 
    dataSource.setUrl(env.getProperty("jdbc.url")); 
    dataSource.setUsername(env.getProperty("jdbc.user")); 
    dataSource.setPassword(env.getProperty("jdbc.password")); 

    return dataSource; 
} 

@Bean 
public PersistenceExceptionTranslationPostProcessor exceptionTranslation() { 
    return new PersistenceExceptionTranslationPostProcessor(); 
} 


@SuppressWarnings("serial") 
Properties hibernateProperties() { 
    return new Properties() { 
     { 
      setProperty("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto")); 
      setProperty("hibernate.dialect", env.getProperty("hibernate.dialect")); 
      setProperty("hibernate.globally_quoted_identifiers", "true"); 
      setProperty("hibernate.show_sql", env.getProperty("hibernate.show_sql")); 
     } 
    }; 
} 

回答

0

這現在在2106.3 EAP。答案是升級。