0

JPA 2.0 をサポートする OSGI バンドル プロジェクトを作成しました。JPAプロバイダーとしてOpenJpaを使用しています。バンドルを実行すると、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)。

この問題を解決するには、私に知らせてください。

4

1 に答える 1