【问题标题】:Hibernate JPA - No Persistence provider for EntityManager errorHibernate JPA - EntityManager 错误没有持久性提供程序
【发布时间】:2017-07-19 05:43:01
【问题描述】:

我正在尝试使用 JPA 连接到 sql server 并使用 Eclipse Maven 项目进行休眠。我尝试将 persistence.xml 文件移动到不同的位置,但似乎没有帮助。

我的 persistence.xml 文件是

<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
  version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
  <persistence-unit name="Trades" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    <properties>
      <property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
      <property name="javax.persistence.jdbc.url"    value="jdbc:sqlserver:/Trades\SQL00;databaseName=Trades" />
      <property name="javax.persistence.jdbc.user" value="sa" />
      <property name="javax.persistence.jdbc.password" value="dev" />
      <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
      <property name="show_sql" value="true"/>
      <property name="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>
    </properties>
  </persistence-unit>
</persistence>

我的代码如下,位于src/main/resources/META-INF

public static void main(String[] args) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("Trades");
        System.out.println();
    }

我附上了一张显示我的 Eclipse 设置的屏幕截图

【问题讨论】:

  • 如果您不介意使用 spring,请尝试将您的 persistence.xml 中的提供程序更改为 org.hibernate.ejb.HibernatePersistence,我可以为您提供一个工作设置。我认为您没有使用最新的休眠版本,因为在最新版本中不需要EntityManagerFactory
  • 非常感谢您的帮助。我正在使用休眠 5.2.10。关于EntityManagerFactory,我只是在网上关注一些文章-我应该改用什么?
  • 我更喜欢将org.springframework.orm.hibernate4.LocalSessionFactoryBeanorg.apache.commons.dbcp2.BasicDataSource 属性一起使用

标签: java hibernate jpa


【解决方案1】:

我解决了这个问题,结果证明 Maven 一定下载了损坏的库 - 当我无法查看 Hibernates jar 中某些类的源代码时,我收到了警告。我删除了 .m2 目录中的罐子,当罐子被刷新时,它工作正常。有点棘手。

【讨论】:

    猜你喜欢
    • 2012-11-03
    • 2014-12-15
    • 2016-11-04
    • 2012-06-21
    • 2019-01-16
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    相关资源
    最近更新 更多