遇到已弃用的 javax.persistence.spi.PersistenceProvider

2022-09-01 12:37:31

当你使用spring & Hibernate时,你有没有遇到过一个日志警告,上面写着

WARN o.hibernate.ejb.HibernatePersistence - HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence];使用 [org.hibernate.jpa.HibernatePersistenceProvider] 代替。

如何处理?感谢您的任何回答。


答案 1

它应该是

org.hibernate.jpa.HibernatePersistenceProvider

看看这个

荒废的。

用 HibernatePersistence Providerider


答案 2

如果您正在使用Spring Data JPA和Java Configuration,您将能够解决它,并在实体管理器工厂中添加以下代码:

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进行休眠配置的好例子:http://spring.io/guides/tutorials/data/3/


推荐