2

Mavenプロジェクトがあり、既存のエンティティからDDLを生成したいと思います。

どうやってやるの?

DDLを生成できるMavenプラグインはありますか?

JPAを使用しています。(openjpa)

4

2 に答える 2

3

openjpa-maven-pluginプラグインは目標を提供しますsql。この目標を使用して、既存のエンティティからDDLを作成することができます。

<pluginManagement>
<plugin>
    <groupId>org.apache.openjpa</groupId>
    <artifactId>openjpa-maven-plugin</artifactId>
    <version>2.2.0</version>
    <configuration>
        <includes>**/entity/ *.class</includes>
        <addDefaultConstructor>true</addDefaultConstructor>
        <connectionDriverName>com.ibm.db2.jcc.DB2Driver</connectionDriverName>
        <enforcePropertyRestrictions>true</enforcePropertyRestrictions>
        <persistenceXmlFile>${basedir}/src/main/resources/META-INF/persistence.xml</persistenceXmlFile>
        <skip>${skip.jpa}</skip>
        <sqlFile>${basedir}/src/main/resources/database.sql</sqlFile>
    </configuration>
        <dependencies>
            <dependency>
                 <groupId>org.apache.openjpa</groupId>
                 <artifactId>openjpa</artifactId>
                 <version>2.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.6.6</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>1.6.6</version>
            </dependency>
        </dependencies>
    </plugin>
</pluginManagement>

<plugin>
    <groupId>org.apache.openjpa</groupId>
    <artifactId>openjpa-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>sql</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>sql</goal>
            </goals>
        </execution>                    
    </executions>
</plugin>
于 2012-11-28T14:00:04.070 に答える
2

JPAプロバイダーとしてHibernateを使用している場合は、 http: //users.mafr.de/~matthias/articles/generated-ddl-scripts.htmlを確認してください。

JPAアノテーションからDDLを生成する重複の可能性がありますが、そこにある質問の言い回しは少し異なりますか?

于 2012-09-05T18:14:12.767 に答える