本文将对利用hibernate-Tools里的相关工具类,通过hbm映射文件生成java实体类pojo和数据schema时build.xml以及hibernate.cfg.xml相关配置的说明。

 

<?xml version="1.0"?>
<project name="test" default="hbm2java">
    <!--定义文件夹-->
    <!--一下这些property是为了下文中设置文件的路径,该property就像是定义一个变量,变量名为name的值,变量的值为value的值 -->
    <property name="configuration-files.dir" value="config" /><!--xml文件的目录-->
    <property name="java.code.dir" value="java" /><!--生成java实体源码文件的目录-->
    <property name="schema.dir" value="schema" /><!--生成数据库脚本文件的目录-->
    <property name="lib.dir" value="lib" /><!--jar包文件的目录-->
    <property name="hibernate3.dir" value="${lib.dir}/hibernate-3.2" /><!--hibernate相关工具的jar文件目录-->
      
    <path id="hibernate3.path"><!--指定相关jar文件的引用-->
        <pathelement location="${hibernate3.dir}/hibernate3.jar" />
        <fileset dir="${hibernate3.dir}">
            <include name="**/*.jar" />
        </fileset>
    </path>
    <path id="mysql.jdbc.driver.path"><!--指定mySql驱动jar文件的引用-->
        <pathelement location="${lib.dir}/mysql-connector-java-5.1.10-bin.jar" />
    </path>
    <path id="hibernate-tools.path"><!--指定hibernate相关工具jar文件的引用-->
        <pathelement location="${lib.dir}/hibernate-tools.jar" />
    </path>
    <path id="freemarker.path"><!--指定freemarker jar文件的引用-->
        <pathelement location="${lib.dir}/freemarker.jar" />
    </path>
    <path id="all-in-one.path">
        <path refid="hibernate3.path" />
        <path refid="mysql.jdbc.driver.path" />
        <path refid="hibernate-tools.path" />
        <path refid="freemarker.path" />
        <pathelement location="${configuration-files.dir}" /><!--指定当前路径-->
    </path>

    <target name="hbm2java">
        <taskdef name="hbm2java" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="all-in-one.path" />
        <hbm2java destdir="${java.code.dir}">
            <configuration configurationfile="${configuration-files.dir}/hibernate.cfg.xml" />
            <hbm2java jdk5="true" />
        </hbm2java>
    </target>
    <target name="hbm2ddl">
        <taskdef name="hbm2ddl" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="all-in-one.path" />
        <hbm2ddl destdir="${schema.dir}">
            <configuration configurationfile="${configuration-files.dir}/hibernate.cfg.xml" />
            <hbm2ddl export="true" console="true" create="true" update="false" drop="false" outputfilename="courseChoosing.sql" />
        </hbm2ddl>
    </target>

</project>

<!--特别注意-->
   <!--1.如果映射文件中指明了包名,那么生成java实体文件的路径则是从项目根路径到java文件不包含包名的路径。-->
   <!--2.如果hibernate.cfg.xml中配置映射文件时resouce中配置文件已有路径,那么当前路径应为项目根路径到配置文件不包含resouce中的路径所得的路径-->

  

注:使用hibernate-Tools里的相关工具类,通过hbm映射文件生成java实体类pojo和数据schema的相关介绍请参考:http://www.cnblogs.com/firstdream/archive/2012/03/12/2391684.html