Spring Data JPA Java配置中的HibernatePersistence.class

5

HibernatePersistence.class已被弃用。对于这段代码,应该选择什么替代方案?

import org.hibernate.ejb.HibernatePersistence
@Bean  
        public LocalContainerEntityManagerFactoryBean entityManagerFactory() {  
                LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();  
                entityManagerFactoryBean.setDataSource(dataSource());  
                entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistence.class);  
                entityManagerFactoryBean.setPackagesToScan(env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));  

                entityManagerFactoryBean.setJpaProperties(hibProperties());  

                return entityManagerFactoryBean;  
        } 
3个回答

8

那是我的当前提供者。 - james
在API中哪里说它已被弃用了?你使用的是哪个版本的Hibernate? - Koitoer
<hibernate.version>4.3.1.Final</hibernate.version> - james
2
在我的回答中更新,根据文档应该是jpa包,很奇怪的是在最终版本中hibernate将其弃用了。尝试使用org.hibernate.jpa.HibernatePersistenceProvider。 - Koitoer
嘿,上面的LocalContainerEntityManagerFactoryBean的XML版本是什么?我想知道如何在我的LocalContainerEntityManagerFactoryBean中使用XML设置持久性提供程序。 - Naxi

0

我也遇到了这个问题。我通过在pom.xml中添加以下依赖项来解决它:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>5.0.2.Final</version>
</dependency>

import org.hibernate.ejb.HibernatePersistence;


0

你的代码完全没有问题,不需要任何替代方案。问题是因为你错过了Hibernate实体管理器.jar库[或者如果你使用Maven作为项目构建器,则是hibernate-entitymanager Maven依赖项]。在你的pom文件中添加hibernate-entitymanager Maven依赖项并更新你的项目即可。它会正常工作。

谢谢。 Mohamed Nashath。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接