1

在我读过的许多关于 JPA 的文档中告诉我,我需要一个持久性文件才能使用 JPA。该文件是在我创建 JPA 项目时自动创建的,但现在我想在 RAP 项目和 RCP 项目中使用 JPA。但我不知道怎么做。

需要帮忙。

4

2 回答 2

1

我发现了一种方法是使用Project Facets.

右键单击您的项目 -> 属性 -> 项目构面 ->JPA复选框。

这将自动persistence.xml在您的META-INF文件夹中创建文件。然后,您只需要建立连接即可使用 JPA。

于 2014-09-03T08:10:52.283 回答
1

只需创建新的 XML 文件,persistence.xml在您的META-INF文件夹中调用。该文件的内容应该是这样的(具体问题请参考 JPA 文档):

<?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">
    <class>DummyEntity</class>
    <properties>
        <property name="javax.persistence.jdbc.url" value="database-url" />
        <property name="javax.persistence.jdbc.user" value="database-user" />
        <property name="javax.persistence.jdbc.password" value="database-password" />
        <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver" />  
    </properties>
</persistence-unit>
</persistence>

之后,您可以EntityManagerFactory使用以下示例代码创建一个:

import javax.persistence.EntityManagerFactory;
import org.eclipse.persistence.config.PersistenceUnitProperties;
import org.eclipse.persistence.jpa.osgi.PersistenceProvider;

Map<String, Object> connectionProperties = new HashMap<String, Object>();
connectionProperties.put(PersistenceUnitProperties.CLASSLOADER, this
        .getClass().getClassLoader());
try {
    EntityManagerFactory emf = new PersistenceProvider()
            .createEntityManagerFactory("pu", connectionProperties);
} catch (Exception e) {
    // todo
}
于 2014-09-03T07:10:17.123 回答