使用xdoclet辅助Hibernate开发提高工作效率

本文介绍如何使用XDoclet工具自动生成Hibernate映射文件,以简化大量POJO对象映射文件的维护工作。文章提供了一个具体的例子,包括Ant配置文件的设置及POJO类的注释规范。

做Hibernate应用的开发,肯定会设计到pojo的映射文件的编写,当设计到大量的pojo时,维护映射文件变成了一件相当困难的事情,因为要保持pojo和映射文件的同步,很可能就会出错. 如果采用xdoclet那么就可以很方便的保持它们之间的同步,进一步提高工作效率.

这里举一个简单的使用xdoclet生成映射文件的例子:

首先需要使用的包:

1.xdoclet-1.2.3.jar /xjavadoc.jar /xdoclet-hibernate-module-1.2.3.jar

2.ant相关的包

首先,建立ant配置文件(一旦建立,之后就可以在项目中不用更改了)

<?xmlversion="1.0"encoding="ISO-8859-1"?>

<projectname="XDocletExamples"default="compile"basedir=".">

<propertyfile="config.properties"/>

<!--===================================================================-->
<!--Definetheclasspath-->
<!--===================================================================-->
<pathid="samples.class.path">
<filesetdir="lib.dir">
<includename="*.jar"/>
</fileset>
</path>

<!--===================================================================-->
<!--Initialise-->
<!--===================================================================-->
<targetname="init">
<tstamp>
<formatproperty="TODAY"pattern="d-MM-yy"/>
</tstamp>
<!-这里很关键,一般来说除了classpathref会修改之外,其他不用修改->
<taskdef
name="hibernatedoclet"
classname
="xdoclet.modules.hibernate.HibernateDocletTask"
classpathref
="samples.class.path"
/>
</target>



<!--===================================================================-->
<!--InvokeXDoclet'shibernate-->
<!--===================================================================-->
<targetname="hibernate"depends="init"description="Generatemappingdocuments(runjarfirst)">

<echo>+---------------------------------------------------+</echo>
<echo>||</echo>
<echo>|RUNNINGHIBERNATEDOCLET|</echo>
<echo>||</echo>
<echo>+---------------------------------------------------+</echo>
<!-这里也是比较关键的地方->
<hibernatedoclet
destdir="${basedir}"
excludedtags
="@version,@author,@todo,@see"
addedtags
="@xdoclet-generatedat${TODAY},@copyrightTheXDocletTeam,@authorXDoclet,@version${version}"
force
="true"
verbose
="false">

<filesetdir="${basedir}">
<includename="kkvo.java"/>
</fileset>

<hibernateversion="3.0"/>

</hibernatedoclet>
</target>

<!--===================================================================-->
<!--Compilesalltheclasses-->
<!--===================================================================-->

<targetname="compile"depends="hibernate">

<echo>+---------------------------------------------------+</echo>
<echo>||</echo>
<echo>|COMPILINGSOURCES|</echo>
<echo>||</echo>
<echo>+---------------------------------------------------+</echo>

<javac
destdir="${basedir}"
classpathref
="${basedir}"
debug
="on"
deprecation
="on"
optimize
="off"
>

<srcpath="${basedir}"/>

</javac>

</target>


<!--===================================================================-->
<!--Clean-->
<!--===================================================================-->
<targetname="clean">
<deletedir="${samples.dist.dir}"/>
</target>

</project>

然后,我就可以建立自己的pojo了:

/***//**
*
@authorAdministrator
*@hibernate.classtable="testTable"
*dynamic-insert="true"
*dynamic-update="true"
*
*/

publicclasskkvo...{
Integerid;

Stringname;

/***//**
*@hibernate.idgenerator-class="native"
*column="id"
*type="int"
*
*
*
@returntheid
*/

publicIntegergetId()...{
returnid;
}


/***//**
*
@paramid
*theidtoset
*/

publicvoidsetId(Integerid)...{
this.id=id;

}


/***//**
*@hibernate.propertycolumn="name"
*type="integer"
*not-null="true"
*
@returnthename
*/

publicStringgetName()...{
returnname;
}


/***//**
*
@paramname
*thenametoset
*/

publicvoidsetName(Stringname)...{
this.name=name;
}

}

最后,通过ant命令就可以生成该pojo的映射文件,很是方便

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值