当前位置: 首页 > 图文教程 > Java技术 > 数据库持久层 > 数据库持久层:小编浅谈XDoclet 与Hibernate 映射

数据库持久层
hibernate的11大优势
Hibernate的级联删除
别让Hibernate偷走了你的标识符
数据持久层三种持久化方法
Hibernate使用总结
hibernate要点
Hibernate基础
优化Hibernate性能的几点建议
Hibernate优化方案
别让Hibernate偷走了您的身份(一)
别让Hibernate偷走了您的身份(二)
Hibernate的发展之路
Hibernate包作用详解
EJB 3.0是Hibernate的克隆吗?
分析Hibernate的事务处理机制
使用Hibernate处理数据
Hibernate 和 iBATIS
数据库持久层:如何学习Hibernate
数据库持久层:用hbm2java生成Hibernate类
数据库持久层:Hibernate延时加载和机制理解

数据库持久层:小编浅谈XDoclet 与Hibernate 映射


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 588 ::
收藏到网摘: n/a

POJO 中融合XDoclet 的映射文件自动生成机制,提供了除手动编码和由数据库导出基础代码的第三种选择。

实际开发中,往往首先使用MiddleGen hbm2java 工具生成带有XDoclet tagPOJO。之后通过修改POJO中的XDoclettag进行映射关系调整。

XDoclet已经广泛运用在EJB开发中,在其最新版本里,包含了一个为Hibernate提供支持的子类库Hibernate Doclet,其中包含了生成Hibernate映射文件所需的ant构建支持以及java doc tag支持。

XDoclet实现基本原理是,通过在Java代码加入特定的JavaDoc tag,从而为其添加特定的附加语义,之后通过XDoclet工具对代码中JavaDoc Tag进行分析,自动生成与代码对应的配置文件,XDoclet

Hibernate-Doclet中,通过引入Hibernate相关的JavaDoc tag,我们就可以由代码生成对应的Hibernate映射文件。

下面是一个代码片断,演示了Hibernate-Doclet的使用方式:

/**

* @hibernate.class

* table="TUser"

*/

public class TUser implements Serializable {

……

/**

* @hibernate.property

* column="name"

* length="50"

* not-null="true"

*

* @return String

*/

public String getName() {

return this.name;

}

……

}

以上是使用Hibernate-Doclet 描述POJOTUser)及其对应表(TUser)之间映射关系

的一个例子。

其中用到了两个hibernate doclet tag@hibernate.class@hibernate.property

这两个tag分别描述了POJO所对应的数据库表信息,以及其字段对应的库表字段信息。

之后Hibernate Doclet就会根据这些信息生成映射文件:

<hibernate-mapping>

<class

name="net.xiaxin.xdoclet.TUser"

table="TUser"

> 

<property

name="name"

type="java.lang.String"

column="name"

not-null="true"

length="50"

> 

</class>

</hibernate-mapping>

这样我们只需要维护Java 代码,而无需再手动编写具体的映射文件即可完成Hibernate

基础代码。

熟记Hibernate-Doclet 众多的Tag,显然不是件轻松的事情,好在目前的主流IDE 都提

供了Live Template支持。我们只需进行一些配置工作,就可以实现Hibernate-Doclet Tag

的自动补全功能,从而避免了手工编写过程中可能出现的问题。