我已经创建了支持JPA 2.0的OSGI包项目。我使用OpenJpa作为JPA提供程序。当我运行bundle时,我无法创建OpenJPAEntityManagerFactory。请使用我用于创建OpenJPAEntityManagerFactory的代码。
OpenJPAEntityManagerFactory emf = OpenJPAPersistence.createEntityManagerFactory(
"StudentServiceProvider",
"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="StudentServiceProvider">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<class>com.student.serviceprovider.model.Student</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost:3306/NYL" />
<property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver" />
<property name="openjpa.ConnectionUserName" value="root" />
<property name="openjpa.ConnectionPassword" value="root" />
<property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
<property name="openjpa.RuntimeUnenhancedClasses" value="supported" />
<property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
<!-- To avoid foreign key issues -->
<property name="openjpa.jdbc.SchemaFactory" value="native(ForeignKeys=true)" />
<!-- Auto create tables -->
<property name="jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)" />
</properties>
</persistence-unit>
</persistence>
在src文件夹中我有META-INF,我用它创建了persistence.xml(META-INF / persistennce.xml)。
请让我知道解决此问题。
答案 0 :(得分:0)
如果你列出了你得到的错误,那可能会有所帮助,但可能是因为你有两次这样的行:
<property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
这只是一个黑暗的问题,因为你没有提到错误是什么,我恰好得到了一个错误信息“等效属性键”openjpa.Log“和”Log“在配置中指定。 “我正在做的事情。