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