hibernate - EntityManager Hibernate 没有持久性提供程序

标签 hibernate jpa

我遇到了 No Persistence provider for EntityManager 异常,并且无法找出导致该异常的原因。这是我的配置文件:

Persistence.xml(存储在src/META-INF中)

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
    xmlns="http://java.sun.com/xml/ns/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">
    <persistence-unit name="HatifimJPA" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <class>entities.HatUser</class>
        <properties>
            <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />
            <property name="hibernate.connection.username" value="Benny" />
            <property name="hibernate.connection.password" value="oracle" />
            <property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:xe" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" />
        </properties>
    </persistence-unit>
</persistence>

异常(exception):

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named HatifimJPA at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) at testing.TestClass.main(TestClass.java:16)

唯一的区别是我试图将 EntityManager 放入 public void main(...) { ... } block 中,但是,我不这样做我不记得过去这样做时遇到过问题。

谁能帮忙指出我的问题可能出在哪里?

最佳答案

尝试将 persistence.xml 放入 src/main/resources/META-INF/ 并将此代码放入 main 方法中:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("HatifimJPA");
EntityManager em = emf.createEntityManager();

关于hibernate - EntityManager Hibernate 没有持久性提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11107208/

相关文章:

java - JPA criteria API 将 'in' 表达式转换为多个 'OR'

java - 单元测试引发 : HsqlException user lacks privilege or object not found: ROWNUM

java - Hibernate 未获取公共(public)成员

sql - 并发插入实体集合

java - Google App Engine/Java - 不一致的 ORDER BY

java - 映射异常 : Named query not known

spring - Hibernate 使用 null 父 id 保存子实体

java - 单元测试期间无法加载ApplicationContext

java - 错误: No persistence provider for EntityManager

java - Hibernate关系外键约束失败