我有一个jpa程序,我想在Android上改变。这是我的android项目中的src-file-structure:
+---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:
<?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 :(得分:0)
您的应用程序中是否包含JPA jar? (persistence.jar,eclipselink.jar)
我不知道JPA在Android上运行。
您可能需要直接访问持久性提供程序,并且可能需要传递类加载器。
即
org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory()