Java 如何使用maven插件从带有注释的现有实体生成DDL?

Java 如何使用maven插件从带有注释的现有实体生成DDL?,java,jakarta-ee,maven,ejb,jpa-2.0,Java,Jakarta Ee,Maven,Ejb,Jpa 2.0,我有一个maven项目,我想从现有实体生成DDL 我该怎么做 是否有任何maven插件可以生成DDL 我正在使用JPA。(打开JPA)如果您使用Hibernate作为JPA提供程序,请检查 可能的重复,尽管问题的措辞略有不同?openjpa maven插件提供了一个目标sql。使用此目标,可以从现有实体创建DDL <pluginManagement> <plugin> <groupId>org.apache.openjpa</groupId>

我有一个maven项目,我想从现有实体生成DDL

我该怎么做

是否有任何maven插件可以生成DDL


我正在使用JPA。(打开JPA)

如果您使用Hibernate作为JPA提供程序,请检查


可能的重复,尽管问题的措辞略有不同?

openjpa maven插件提供了一个目标
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>

org.apache.openjpa
openjpa maven插件
2.2.0
**/实体/*.class
真的
com.ibm.db2.jcc.DB2Driver
真的
${basedir}/src/main/resources/META-INF/persistence.xml
${skip.jpa}
${basedir}/src/main/resources/database.sql
org.apache.openjpa
openjpa
2.1.1
org.slf4j
slf4j api
1.6.6
org.slf4j
slf4j简单
1.6.6
org.apache.openjpa
openjpa maven插件
sql
产生资源
sql

你说的是持久性实体吗?@SkyDan是的,JEE persistence EntitesThen,我想maven与此无关。你的问题标题很混乱。@skydan我想在maven中找到一个可能性。因此它很重要。例如,使用适当的插件,DDL生成再次由持久性提供者实现。因此,请查看您的持久性提供商的教程,以获取相关信息。非常有用!我花了几个小时才找到这篇文章,但是这个maven插件做得很好!