【发布时间】:2012-06-21 20:39:29
【问题描述】:
我遇到了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>
例外:
线程“主”javax.persistence.PersistenceException 中的异常:没有名为 HatifimJPA 的 EntityManager 的持久性提供程序 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69) 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) 在 testing.TestClass.main(TestClass.java:16)
唯一的区别是我试图将EntityManager 放入public void main(...) { ... } 块中,但是,我不记得过去这样做时遇到过问题。
谁能帮忙指出我的问题可能出在哪里?
【问题讨论】:
-
发布您的异常跟踪以进行分析。
-
是桌面应用还是网页应用?
-
这将是一个 webapp,但现在它只是一个带有主类的 JPA 项目
-
我没有发现任何问题,但我不是专家;它看起来像一些阻止创建 PU 的配置问题。我会尝试将数据库直接连接到 ODBC,以检查配置是否正常。我还要指出创建/检索 PU 的位置。
-
侦听器服务实际上已关闭,但我仍然遇到相同的异常