当你使用Spring时
警告o.hibernate.ejb.HHibernatePersistence-HHHH015016:遇到不推荐的javax.persistence.spi.PersistenceProvider[org.hibernate.exb.HibernatePersistence];请改用[org.hibernate.jpa.HHibernate PersistenceProvider]。
如何处理?谢谢你的回答。
应该是
org.hibernate.jpa.HibernatePersistenceProvider
看看这个。
已弃用。
改用Hibernate PersistenceProvider
如果您正在使用 Spring Data JPA 和 Java 配置,您将能够解决它,在您的实体管理器工厂中添加以下代码:
factory . setpersistenceprovider(new HibernatePersistenceProvider());
@Bean
public EntityManagerFactory entityManagerFactory() throws SQLException {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setGenerateDdl(true);
vendorAdapter.setShowSql(true);
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setJpaVendorAdapter(vendorAdapter);
**factory.setPersistenceProvider(new HibernatePersistenceProvider());**
factory.setPackagesToScan("com.company.appname.persistence.domain");
factory.setDataSource(dataSource());
factory.setJpaProperties(hibernateProperties());
factory.afterPropertiesSet();
return factory.getObject();
}
你可以在这里找到一个使用 Spring Data JPA 进行 Hibernate 配置的很好的例子:http://spring.io/guides/tutorials/data/3/
对于不使用SPRING的用户:
我们可以用特定于Hibernate的标准javax.persistence无融资创业。
旧的:
EntityManagerFactory emf = Persistence.createEntityManagerFactory(
PERSISTENCE_UNIT, props );
新:
PersistenceProvider provider = new HibernatePersistenceProvider();
EntityManagerFactory emf = provider.createEntityManagerFactory(
PERSISTENCE_UNIT, props);
已弃用的警告现在应该消失了。问题仍然存在于4.3.1。最终。在5.1.0。最终应该得到修复。