2012-11-15 180 views
2

我試圖使用JPA連接到使用JDBC:ODBC連接的MS訪問數據庫。這裏是我的Persistance.xml代碼:JPA-沒有EntityManager的MSAccess數據庫持久性提供者

<?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="DSRJPA"> 
    <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider> 
    <class>com.entity.AccessEntity</class> 
    <properties> 
    <property name="toplink.jdbc.url" value="jdbc:odbc:MSAccessDB"/> 
    <property name="toplink.jdbc.user" value="admin"/> 
    <property name="toplink.jdbc.driver" value="sun.jdbc.odbc.JdbcOdbcDriver"/> 
    <property name="toplink.jdbc.password" value="admin"/> 
    <property name="toplink.jdbc.read-connections.min" value="1"/> 
    <property name="toplink.jdbc.write-connections.min" value="1"/> 
    </properties> 
    </persistence-unit> 
</persistence> 

但是當我運行的代碼,我得到這個錯誤:

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named DSRJPA: The following providers: 
oracle.toplink.essentials.PersistenceProvider 
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider 
Returned null to createEntityManagerFactory. 

    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:154) 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83) 
    at com.test.Access.main(Access.java:19) 

請把我扔這個錯誤的一些情況。 在此先感謝。

+0

你確定你的persistence.xml拾取?它是否正確命名,並放置在META-INF文件夾中,該文件夾又位於類路徑的根目錄中(直接位於jar文件中,或位於/ WEB-INF/classes /中,如果是war文件)? –

+0

的確,它看起來JPA無法找到持久性單元。您的文件名爲Persistance.xml或Persist * e * nce.xml(是不是有拼寫錯誤?) –

+0

該文件的名稱及其位置是/DSRJPA/src/META-INF/persistence.xml。它存在於正確的文件夾結構下,但我在運行時仍然會出現錯誤。 注意:在IBM Rad 7.5中使用JPA項目類型。 – user1826436

回答

0

你在課堂上引用了你的持久化單元嗎?

EntityManagerFactory emf = Persistence.createEntityManagerFactory("DSRJPA"); 
相關問題