2012-10-19 89 views
0

我試圖創建一個持久性的EntityManager對象,我無法創建EntityManager對象。請在下面找到示例代碼:錯誤創建EntityManager對象

EntityManagerFactory emf = Persistence.createEntityManagerFactory("Draco-PU"); 
EntityManager em = emf.createEntityManager(); 

我也在persistence.xml文件中定義了持久單元名稱。

<persistence-unit name="Draco-PU" > 

持久化XML被定義如下:

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="1.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_1_0.xsd"> 
<persistence-unit name="Draco-PU" > 
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> 
<jta-data-source>DracoDataSource</jta-data-source> 
<non-jta-data-source>DracoUnmanagedDataSource</non-jta-data-source> 
<class>dk.tdc.soa.smo.draco.db.model.DslServiceEntity</class> 
<class>dk.tdc.soa.smo.draco.db.model.DslServiceCatalogEntity</class> 
<class>dk.tdc.soa.smo.draco.db.model.History</class> 
<class>dk.tdc.soa.smo.draco.db.model.ConfigEntity</class> 
<properties> 
    <property name="openjpa.Log" value="DefaultLevel=WARNING, Runtime=WARNING, Tool=WARNING, SQL=WARNING" /> 
    <!-- <property name="openjpa.jdbc.DBDictionary" value="org.apache.openjpa.jdbc.sql.OracleDictionary" /> -->  
    <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)" /> 
</properties> 
</persistence-unit> 
</persistence> 

面臨的錯誤是:

javax.persistence.PersistenceException: No Persistence provider for EntityManager 
named Draco-PU: Provider named kodo.persistence.PersistenceProviderImpl threw 
expected exception at create EntityManagerFactory: 
org.apache.openjpa.persistence.PersistenceException<openjpa-1.1.1-SNAPSHOT- 
r422266:891341 fatal general error> 
org.apache.openjpa.persistence.PersistenceException: There was an error when invoking 
the static newInstance method on the named factory class 
"kodo.jdbc.kernel.KodoJDBCBrokerFactory". 

請幫幫忙!

+0

請上傳你的錯誤,否則我們將無法幫助! – ppeterka

+0

@ppeterka錯誤已張貼。請檢查 – San

+0

我已經在持久定義的持久性提供xml.But錯誤依然存在 – San

回答

0

你聲明persistence.xml中你的「持久性單元」元素中的「提供者」元素?它應該是這個樣子:

<persistence-unit name="Draco-PU"> 
    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> 
</persistence-unit> 
+0

是!我已經在persistence xml中定義了它,但錯誤仍然存​​在 – San

0

創建你的WEB-INF文件夾內的一個結構:類/ META-INF,把你的persistence.xml文件中並重新啓動服務器。

的Weblogic會在構建目錄中的文件。