2013-04-22 2 views
0

저는 Android에서 tansform을 원했던 jpa programm가 있습니다.Android : EclipseLink : PU라는 EntityManager에 대한 지속성 공급자가 없음

+---org 
| \---manager 
|  +---android 
|  |  EnterIndexNumberActivity.java 
|  |  MainActivity.java 
|  |  WrongCredentials.java 
|  |  
|  +---controller 
|  |  DBStuff.java 
|  |  ManagerMain.java 
|  |  ServerHandling.java 
|  |  
|  +---model 
|  |  Person.java 
|  |  
|  \---view 
\---META-INF 
     persistence.xml 

이 내의 persistence.xml이다 : 이것은 내 안드로이드 프로젝트에서 SRC-파일 구조 i는 데이터베이스에 연결하려면

<?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="PU" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
    <class>itan.manager.model.Itan</class> 
    <properties>   
     <property name="javax.persistence.jdbc.url" value="jdbc:h2:data/.h2/db/manager;CIPHER=AES;IFEXISTS=TRUE;"/>  
     <property name="javax.persistence.jdbc.user" value=""/> 
     <property name="javax.persistence.jdbc.password" value=""/> 
     <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/> 
    </properties> 
    </persistence-unit> 
</persistence> 

ecxeption가 발생합니다 영속 제공하지 "PU"라는 EntityManager가 발견되었습니다. 내가 뭘해야 해? 나는 persistence.xml이 장치에서 발견되지 않는다고 생각한다. 하지만 그 수업을 어떻게 XML 파일을 알아?

감사합니다.

답변

0

응용 프로그램에 JPA jar 패키지가 있습니까? (persistence.jar, eclipselink.jar)

JPA가 Android에서 작동한다는 사실을 알지 못했습니다.

영속성 공급자에 직접 액세스해야 할 수도 있고 클래스 로더를 전달해야 할 수도 있습니다.

org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory() 

참조, http://www.eclipse.org/eclipselink/api/2.4/org/eclipse/persistence/config/PersistenceUnitProperties.html#CLASSLOADER