<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>
用xdoclet生成hibernate映射文件
最新推荐文章于 2025-07-08 09:42:45 发布