无法创建OpenJPAEntityManagerFactory

时间:2013-03-06 14:41:24

标签: java osgi openjpa osgi-bundle

我已经创建了支持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)。

请让我知道解决此问题。

1 个答案:

答案 0 :(得分:0)

如果你列出了你得到的错误,那可能会有所帮助,但可能是因为你有两次这样的行:

<property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />

这只是一个黑暗的问题,因为你没有提到错误是什么,我恰好得到了一个错误信息“等效属性键”openjpa.Log“和”Log“在配置中指定。 “我正在做的事情。