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

数据库持久层
数据库持久层:Hibernate中cascade和inverse的用法
数据库持久层:hibernate的配置信息
数据库持久层:谈hibernate的持续性
数据库持久层:小议Hibernate查询及数据检索
数据库持久层:浅谈hibernate中的Session
数据库持久层:小编浅谈hibernate中抓取策略
数据库持久层:iBATIS框架中Serializable可读写缓存及存储类型
数据库持久层:ibatis高级特性
数据库持久层:为持久层编写单元测试
数据库持久层:小编浅谈ibatis基础语义
数据库持久层:Hibernate中与关联有关的问题
数据库持久层:浅谈ORM(对象关系映射)
总结JDBC连接SQLServer的错误Error establishing socket
数据库持久层:iBATIS的OR 映射
数据库持久层:DAO和ODBC的相似之处
数据库持久层:小编浅谈DAO的特色
数据库持久层:小编浅谈XDoclet 与Hibernate 映射
数据库属性hibernate.dialect的设置

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 587 ::
收藏到网摘: 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

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