2012-06-19 63 views
2

我有一个No Persistence provider for EntityManager异常,并且无法弄清楚是什么导致它。下面是我的配置文件:没有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

例外:无持久性提供商用于EntityManager名为HatifimJPA 位于javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69) 位于javax.persistence.Persistence.createEntityManagerF actory(Persistence.java:47) 在testing.TestClass.main(TestClass.java:16)

唯一的区别是,我试图让EntityManagerpublic void main(...) { ... }块,但是,我不回想过去有这样的问题。

任何人都可以帮助指出我的问题可能存在的地方吗?

+0

安置自己的异常跟踪分析。 –

+0

我现在加了它,对不起 – Bennyz

+0

它是桌面应用程序还是web应用程序? – SJuan76

回答

3

尝试把persistence.xml中为src /主/资源/ META-INF/ ,并把这个代码的主要方法:

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

仍然是相同的例外 – Bennyz

+4

你确定你有org.hibernate.ejb.HibernatePersistence包含在项目中吗?可以找到例如在hibernate-entitymanager-4.1.4.Final(我使用Maven)。 – tarsis

相关问题