用xdoclet生成hibernate映射文件

<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot = "0989131976"; google_ad_width = 336; google_ad_height = 280; // </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 首先你要下载xdoclet-1.2.3,ant1.6.5,然后写项目管理文件build.properties,build.xml。 举例如下: build.properties内容: xdoclet.lib=E:/xdoclet-1.2.3/lib build.xml内容: <?xml version="1.0" encoding="UTF-8"?> <project name="pms" default="" basedir="."> <property file="build.properties" /> <property name="app.home" value="." /> <property name="app.name" value="pms" /> <property name="src.dir" value="${app.home}/src" /> <path id="xdoclet.classpath"> <fileset dir="${xdoclet.lib}"> <include name="*.jar" /> </fileset> </path> <!-- =================================================================== --> <!-- Initialise --> <!-- =================================================================== --> <target name="init"> <tstamp> <format property="TODAY" pattern="d-MM-yy" /> </tstamp> <taskdef name="hibernatedoclet" classname="xdoclet.modules.hibernate.HibernateDocletTask" classpathref="xdoclet.classpath" /> </target> <!-- =================================================================== --> <!-- The "hibernatedoclet" target generates Hibernate mapping files --> <!-- based on XDoclet marked-up Plain Old Java Object (POJO) --> <!-- =================================================================== --> <target name="hibernatedoclet" depends="init" unless="hibernatedoclet.unnecessary" description="Generate Hibernate mapping files"> <taskdef name="hibernatedoclet" classname="xdoclet.modules.hibernate.HibernateDocletTask" classpathref="compile.classpath" /> <!-- generate hibernate files --> <hibernatedoclet destdir="${src.dir}" mergedir="${src.dir}" excludedtags="@version,@author,@todo,@see" addedtags="@xdoclet-generated at ${TODAY}" force="false" verbose="false"> <fileset dir="${src.dir}"> <include name="net/pms/model/*.java" /> </fileset> <hibernate version="3.0" /> </hibernatedoclet> </target> </project> javabean如下: package net.pms.model; import java.io.Serializable; import java.util.Date; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.EqualsBuilder; /** * * @author jfish * @hibernate.class table="person" */ public class Person implements Serializable { private static final long serialVersionUID = 1044237873392048222L; private Long id; private String name; private Date createTime; /** * @return Returns the createTime. * @hibernate.property column = "ts" */ public Date getCreateTime() { return createTime; } /** * @param createTime * The createTime to set. */ public void setCreateTime(Date createTime) { this.createTime = createTime; } /** * @return Returns the id. * @hibernate.id column = "person_id" generator-class = "native" * unsaved-value = "not null" */ public Long getId() { return id; } /** * @param id * The id to set. */ public void setId(Long id) { this.id = id; } /** * @return Returns the name. * @hibernate.property */ public String getName() { return name; } /** * @param name * The name to set. */ public void setName(String name) { this.name = name; } /** * @see java.lang.Object#toString() */ public String toString() { return new ToStringBuilder(this).append("name", this.name).append("id", this.id).append("createTime", this.createTime).toString(); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { return new HashCodeBuilder(-96436153, 713792057).appendSuper( super.hashCode()).append(this.createTime).append(this.name) .append(this.id).toHashCode(); } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object object) { if (!(object instanceof Person)) { return false; } Person rhs = (Person) object; return new EqualsBuilder().appendSuper(super.equals(object)).append( this.createTime, rhs.createTime).append(this.name, rhs.name) .append(this.id, rhs.id).isEquals(); } } 生成的映射文件如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="net.pms.model.Person" table="person"> <id name="id" column="person_id" type="java.lang.Long" unsaved-value="not null"> <generator class="native"> <!-- To add non XDoclet generator parameters, create a file named hibernate-generator-params-Person.xml containing the additional parameters and place it in your merge dir. --> </generator> </id> <property name="createTime" type="java.util.Date" update="true" insert="true" column="ts" /> <property name="name" type="java.lang.String" update="true" insert="true" column="name" /> <!-- To add non XDoclet property mappings, create a file named hibernate-properties-Person.xml containing the additional properties and place it in your merge dir. --> </class> </hibernate-mapping>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值