在我读过的许多关于 JPA 的文档中告诉我,我需要一个持久性文件才能使用 JPA。该文件是在我创建 JPA 项目时自动创建的,但现在我想在 RAP 项目和 RCP 项目中使用 JPA。但我不知道怎么做。
需要帮忙。
在我读过的许多关于 JPA 的文档中告诉我,我需要一个持久性文件才能使用 JPA。该文件是在我创建 JPA 项目时自动创建的,但现在我想在 RAP 项目和 RCP 项目中使用 JPA。但我不知道怎么做。
需要帮忙。
我发现了一种方法是使用Project Facets
.
右键单击您的项目 -> 属性 -> 项目构面 ->JPA
复选框。
这将自动persistence.xml
在您的META-INF
文件夹中创建文件。然后,您只需要建立连接即可使用 JPA。
只需创建新的 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
}