2012-06-19 38 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

相關問題