2012-04-26 55 views
0

我正在尝试使用hibernate工具ant任务生成架构。无法使用hbm2ddl创建架构

下面是我的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任务中缺少它来生成模式。

任何形式的帮助将不胜感激。

谢谢!

回答

0

我已经想出了与persistence.xml相关的问题。我的项目中的persistence.xml引用了数据源。我需要在类路径中包含完整的persistence.xml,并且没有对数据源的引用,因为在应用程序部署到JBoss之前数据源不会被加载。