如何在RCP或RAP项目中添加JPA Persistence.xml文件?

时间:2014-09-03 02:43:34

标签: jpa eclipse-rcp eclipse-rap

在许多关于JPA的文档中,我已经阅读过告诉我,我需要一个Persistence文件来使用JPA。我创建一个JPA项目时会自动创建该文件,但现在我想在RAP项目中使用JPA以及RCP项目。但我不知道如何制作它。

需要帮助。

2 个答案:

答案 0 :(得分:1)

只需在persistence.xml文件夹中创建名为META-INF的新XML文件即可。此文件的内容应如下所示(如有特殊问题,请参阅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
}

答案 1 :(得分:1)

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

右键单击您的项目 - &gt;属性 - &gt;项目方面 - &gt;查看JPA框。

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