使用Xdoclet生成hibernate的mapping文件

??????????????????????????????????????

使用xdoclet自動生成hibernate的mapping文件。創建一個xml的文件,用ant來run:

<?xml version="1.0" encoding="ISO-8859-1"?>

<project name="XDoclet Examples" default="hibernate" basedir="..">
?<property name="xdoclet.root.dir" value="E:/soft/java/lib/xdoclet-1.2.3"/>
??? <property name="xdoclet.lib.dir" value="${xdoclet.root.dir}/lib"/>
??? <property name="src.dir" value="src"/>
??? <property name="hbm.dir" value="com/netease/addrlist/bean"/>
???
???


?<path id="samples.class.path">
??????? <fileset dir="${xdoclet.lib.dir}">
??????? ?<include name="*.jar"/>
??????? </fileset>
??? </path>
?
?<target name="init">
??????? <tstamp>
??????????? <format property="TODAY" pattern="d-MM-yy"/>
??????? </tstamp>
??????? <taskdef
??????????? name="xdoclet"
??????????? classname="xdoclet.DocletTask"
??????????? classpathref="samples.class.path"
??????????? />??????????
???????
??????? <taskdef
??????????? name="jdodoclet"
??????????? classname="xdoclet.modules.jdo.JdoDocletTask"
??????????? classpathref="samples.class.path"
??????????? />
???????? <taskdef
??????????? name="hibernatedoclet"
??????????? classname="xdoclet.modules.hibernate.HibernateDocletTask"
??????????? classpathref="samples.class.path"
??????????? />
?????
??? </target>

?<target name="hibernate" depends="init" description="Generate mapping documents (run jar first)">

??????? <echo>+---------------------------------------------------+</echo>
??????? <echo>|?????????????????????????????????????????????????? |</echo>
??????? <echo>| R U N N I N G?? H I B E R N A T E D O C L E T???? |</echo>
??????? <echo>|?????????????????????????????????????????????????? |</echo>
??????? <echo>+---------------------------------------------------+</echo>

??????? <hibernatedoclet
??????????? destdir="./src"
??????????? excludedtags="@version,@author,@todo,@see"
??????????? addedtags="@xdoclet-generated at ${TODAY},@copyright The XDoclet Team,@author XDoclet,@version ${version}"
??????????? force="false"
??????????? verbose="true">

??????????? <fileset dir="${src.dir}">
??????????????? <include name="${hbm.dir}/*.java"/>
??????????? </fileset>

??????????? <hibernate version="3.0"/>
???????????
??????? </hibernatedoclet>
??? </target>
??????
??? </project>

??? BR>

注意:在java的源文件中,要包含@hibernate.class的聲明,否則不會生成hbm文件。