Hibernate3中执行hbm2java和hbm2ddl的方法


  作者:隔壁老王(wallimn.iteye.com),欢迎转载,转载请保留本人信息。

  Hibernate-tools.jar这个包已经不像以前那么好找了,现在是放在hibernate-tools这个eclipse插件里面,用的时候要从里面搜索一下才能找到。
  搜索一下就可以找到。如用eclipse3.4.2版的插件,是在plugins\org.hibernate.eclipse_3.2.4.v200910211631N-H194-GA\lib\tools目录中。
  相对于2.X时,类的名称也发生了变化:class名称也都变成了 从net.sf.hibernate.tool.htm2java 转移到了 org.hibernate.tool.ant.HibernateToolTask

  搭建好hibernate的环境,写个ant需要的build.xml配置文件,用eclipse执行就可以了。很方便。

<?xml version="1.0" encoding="GBK"?>
<project name="hibernate-tutorial" default="hbm2java">
    <property name="sourcedir" value="${basedir}"/>
    <property name="javabeandir" value="${basedir}"/>
    <property name="ddlsqldir" value="${basedir}"/>
    <!--我放包的目录,根据个人情况进行修改-->
    <property name="librarydir" value="${basedir}/../../hibernate.jar/"/>
    <path id="libraries">
       <pathelement location="${sourcedir}" />
       <fileset dir="${librarydir}">
            <include name="*.jar"/>
        </fileset>
    </path>
    <!-- create .java form  *.hbm.xml -->
    <target name="hbm2java"
        description="Generate Java source from the O/R mapping files">
        <taskdef name="hbm2java" 
            classname="org.hibernate.tool.ant.HibernateToolTask" 
            classpathref="libraries"/>
            <hbm2java destdir="${javabeandir}">
                <configuration configurationfile="${basedir}/hibernate.cfg.xml" />  
                <hbm2java  jdk5="true"/>
                <!-- <cfg2hbm/> --> 
            </hbm2java>  
    
    </target>
    
    <!-- create ddl form  *.hbm.xml -->
    <target name="hbm2ddl"  
            description="Generate DB schema from the O/R mapping files">
        <taskdef name="hbm2ddl" 
            classname="org.hibernate.tool.ant.HibernateToolTask" 
            classpathref="libraries"/>
        <hbm2ddl destdir="${ddlsqldir}">
            <configuration configurationfile="${basedir}/hibernate.cfg.xml" /> 
            <hbm2ddl export="true" console="false" create="true" update="false" drop="false" outputfilename="ddl.sql"/> 
        </hbm2ddl>   
    </target>

</project>


  本人在eclipse3.4.2、hibernate3.5.3、oracle9i环境执行成功。

  附所需包,可能有几个不是必需的:
hibernate3.jar
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
hibernate-tools.jar
slf4j-log4j12-1.6.0.jar
log4j-1.2.16.jar
commons-logging-1.0.4.jar
slf4j-api-1.6.0.jar
freemarker-2.3.15.jar
ojdbc14.jar

你可能感兴趣的:(eclipse,freemarker,xml,Hibernate,ant)