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

无法使用hibernate3-maven-plugin-3.0生成hbm2ddl

韩阳成
2023-03-14
问题内容

我已经更新到了较新版本的hibernate3-maven-plugin。我在尝试使用下面提到的插件时遇到以下错误。

感谢您解决此问题的任何指示。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>hibernate3-maven-plugin</artifactId>
    <version>3.0</version>

    <executions>
        <execution>
            <id>create sql schema</id>
            <phase>process-test-resources</phase>
            <goals>
                <goal>hbm2ddl</goal>
            </goals>
            <configuration>
                <componentProperties>
                    <persistenceunit>${app.module}</persistenceunit>
                    <drop>false</drop>
                    <create>true</create>
                    <outputfilename>${app.sql}-create.sql</outputfilename>
                    <skip>${db.schema.gen.skip}</skip>
                </componentProperties>
            </configuration>
        </execution>

        <execution>
            <id>drop sql schema</id>
            <phase>process-test-resources</phase>
            <goals>
                <goal>hbm2ddl</goal>
            </goals>
            <configuration>
                <componentProperties>
                    <persistenceunit>${app.module}</persistenceunit>
                    <drop>true</drop>
                    <create>false</create>
                    <outputfilename>${app.sql}-drop.sql</outputfilename>
                    <skip>${db.schema.gen.skip}</skip>
                </componentProperties>
            </configuration>
        </execution>
    </executions>
</plugin>

[ERROR] Failed to execute goal org.codehaus.mojo:hibernate3-maven-plugin:3.0:hbm2ddl (create sql schema) on project sample: There was an error creating the AntRun task. NullPointerException -> [Help 1]org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:hibernate3-maven-plugin:3.0:hbm2ddl (create sql schema) on project framework: There was an error creating the AntRun task.

问题答案:

配置方式已更改为直接使用ant
hibernate工具插件。因此,配置与ant插件格式完全相同,而无需额外的taskDef例如jpaconfiguration。有关更多信息,请参见hibernate
ant工具参考文档:http
:
//docs.jboss.org/tools/3.3.0.Final/en/hibernatetools/html_single/index.html#d0e4651。


对于具有jpa配置的hbm2ddl,可以使用以下命令:

<plugin>
    <!-- run "mvn hibernate3:hbm2ddl" to generate a schema -->
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>hibernate3-maven-plugin</artifactId>
    <version>3.0</version>

    <configuration>
        <hibernatetool>
            <jpaconfiguration persistenceunit="unitname" />

            <hbm2ddl export="false" create="true"
                update="true" format="true" outputfilename="schemaDiff.ddl" />

        </hibernatetool>
    </configuration>
</plugin>

出现故障时 ,将使用“ target / antrun / build-main.xml”文件配置hibernate工具。对于上面的示例,该示例如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<project name="maven-antrun-" default="main"  >
<target name="main">
  <taskdef classname="org.hibernate.tool.ant.EnversHibernateToolTask" name="hibernatetool"/>
  <mkdir dir="/home/xxx/workspace/projectname/target/sql/hibernate3"/>
  <hibernatetool destdir="/home/xxx/workspace/projectname/target/sql/hibernate3">
    <jpaconfiguration persistenceunit="schemaDiff"/>
    <hbm2ddl update="true" export="false" outputfilename="schemaDiff.ddl" format=
"true" create="true"/>
  </hibernatetool>
</target>
</project>


 类似资料:
  • 我正在使用hibernate3-maven-plugin版本2.0hbm2ddl从代码生成SQL脚本。我正在使用过程类。我的实体类我使用的是序列。@sequenceGenerator(Name=“sessionseq”,sequenceName=“session_seq”,allocationsize=50,initialvalue=1)当我运行Maven脚本时,这将生成create SEQUEN

  • 我试图在maven构建期间生成swagger.json文件。 这是我在pom.xml中从docs获得的插件。 任何帮助都将不胜感激。

  • 我试图通过使用WSDL URL生成一个模式,但失败了,得到了这个错误代码: 目标组织的执行默认值。jvnet。jaxb2。maven2:maven-jaxb2-plugin:0.12.3:generate failed:plugin org。jvnet。jaxb2。maven2:maven-jaxb2-plugin:0.12.3或其依赖项之一无法解析:无法解析以下工件:org。jvnet。jaxb

  • 我对Jaxb和这个maven-jaxb2插件非常陌生 这是我的. xsd文件: 这是我的。xjb文件: 当它生成时,它给出的java类有点像: 但是我不想为用户和用户列表重复相同的代码,我可以通过注释或定义正则表达式来做什么。请建议一些方法。 我只是想知道这段代码要写什么 因此,当它创建用户类时,它会显示@xmlRootElement(name='user'),而其他类的@xmlRootEleme

  • 我有一个JPA注释实体,ID定义为使用序列自动生成的属性。但是,当我尝试用hibernate3 maven插件生成DDL时,我定义的序列不会生成,而是hibernate_sequence。 我期待的是: 在生成的DDL中。我做错了什么?hibernate3-maven-plugin版本是2.2 hibernate-entitymanager版本3.4.0.GA

  • 问题内容: 我在配置时无法从WSDL和都存在于同一标准目录中的多个XSD文件生成Java类的问题。 如何在内联XSD中使用jaxb2 maven插件?仅在答案正确地建议使用插件配置中的参数这一点上相关,而该问题确实与内联XSD有关,而我的XSD是外部的。 插件目标参数在此处列出。 我的插件配置是: 我正在用进行测试,但插件忽略了调试输出中看到的 问题答案: 通过检查传递给JAXB XJC的参数的M