当前位置: 首页 > 面试题库 >

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

东门新立
2023-03-14
问题内容

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

我怎样才能做到这一点?

我可以生成DDL的任何Maven插件吗?

我正在使用JPA。(open jpa)


问题答案:

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>


 类似资料:
  • 我想为我的项目添加Liquibase DB迁移支持。它也使用Spring靴。现在,我想通过使用Hibernate和JPA实体类,在没有DB连接的情况下生成changelog。但它抛出了一个错误: 我没有持久单元XML文件,因为这都是由Spring Boot在运行时完成的。该项目是一个多模块项目。Liquibase插件配置在父POM中。实体在子模块中。 这是Liquibase的Maven插件配置:

  • 我在groovy中编写了一个Gradle插件,并使用Gradle来构建它。我有一个本地网络艺术工厂服务器,我使用Gradle中的Gradle艺术工厂插件和maven-发布插件将结果发布到该服务器。我有另一个Gradle构建脚本,它依赖于此插件作为依赖项。如果我用特定的版本列出我的依赖项,我就能够让这一切正常工作。我尝试过使用maven版本范围(例如,“[1.0,2.0)”),但这失败了,因为它找不

  • 我使用的是maven javadoc插件3.2.0的默认配置,我想生成类似testapidocs的东西,但不幸的是,它只生成NOFRAMES doc。我试着玩了一点,但没有成功。还有其他人有同样的行为吗?当做

  • 问题内容: 我已经使用JAXB编写了许多类进行序列化,并且我想知道是否存在一种基于注释为每个对象生成XSD文件的方法。有这个工具吗? 喜欢的东西是 真棒 。有什么可以做的吗? 问题答案: 是的,您可以在JAXBContext上使用该方法: 您可以利用实现控制输出的位置:

  • 有没有一种方法可以使用maven jetty插件生成一个带有嵌入式jetty的fat jar?

  • 问题内容: 在我不使用Spring的项目中,我仅使用Hibernate。我不想将hbm.xml文件用于实体映射/描述/等。我只想使用注释。 如何告诉Hibernate 从某些包中加载所有带注释的类? 我在网上搜索,但没有运气。我也找不到有关最新的Hibernate版本的信息(大多数是过时的文章/帖子/等)。 编辑1: http://docs.jboss.org/hibernate/orm/4.3/