无法使用hbm2ddl创建架构

时间:2012-04-26 23:34:25

标签: hibernate hbm2ddl

我正在尝试使用hibernate工具ant任务生成模式。

以下是我的蚂蚁任务

<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="GenerateDDL" basedir="." default="createddl">
<property name="src" location="src" />
<property name="bin" location="bin" />
<target name="createddl">

    <property name="lib" location="C:\eclipse\plugins\org.hibernate.eclipse.libs_3.4.0.v20120307-2104-H60-Beta1\lib" />
    <property name="vob.libs" location="C:/lib/java/jars" />
    <property name="jdbc.driver.name" value="${vob.libs}/postgresql-9.0-801.jdbc4.jar" />
    <unjar dest="config">
        <fileset dir="lib" includes="*.jar" />
        <patternset>
            <include name="**/*.class" />
        </patternset>
    </unjar>
    <path id="toolslib">
        <path location="${vob.libs}/hibernate-tools.jar" />
        <path location="${vob.libs}/hibernate3.jar" />
        <path location="${vob.libs}/freemarker.jar" />
        <path location="${jdbc.driver.name}" />
        <path location="${vob.libs}/hibernate-jpa-2.0-api-1.0.0.Final.jar" />
        <path location="${vob.libs}/hibernate-annotations.jar" />
        <path location="${vob.libs}/hibernate-entitymanager.jar" />
        <path location="${vob.libs}/ejb3-persistence.jar" />
        <path location="${vob.libs}/commons-logging.jar" />
        <path location="${vob.libs}/slf4j-jboss-logging.jar" />
        <path location="${vob.libs}/slf4j-api.jar" />
        <path location="${vob.libs}/dom4j.jar" />
        <path location="${vob.libs}/javassist.jar" />
        <path location="${vob.libs}/jboss-logging-spi.jar" />
    </path>

    <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="toolslib" />
    <mkdir dir="src/generated" />
    <mkdir dir="bin" />
    <hibernatetool destdir="src/generated">
        <classpath>
            <path location="config" />
        </classpath>
        <jpaconfiguration persistenceunit="myPersistenceUnit" />

        <hbm2ddl export="true" drop="true" outputfilename="ddl.sql" format="true" />

    </hibernatetool>
</target>
</project>

这里的config目录包含所有类文件,包括实体类的类文件。 当我运行这个ant任务时,我没有看到任何错误,但我没有看到ddl.sql文件中也生成任何模式。我试图在互联网上研究这个,但没有找到任何令人满意的答案。我不确定如何进一步调试,因为我在运行ant任务后没有在控制台上看到任何错误消息。在这个ant任务中是否有一些显而易见的东西可以让它生成模式。

任何形式的帮助都将受到赞赏。

谢谢!

1 个答案:

答案 0 :(得分:0)

我已经发现了与persistence.xml相关的问题。我项目中的persistence.xml指的是数据源。我需要在类路径中拥有完整的persistence.xml,并且不会引用数据源,因为在将应用程序部署到JBoss之前,不会加载数据源