67,513
社区成员
发帖
与我相关
我的任务
分享
<project name="hibernate映射" default="生成Hibernate映射文件" basedir=".">
<property name="src.dir" value="${basedir}/src" />
<property name="xdoclet.home" value="E:/TANGSHICHUN/program/xdoclet-plugins-1.0.3" />
<property name="hibernate.lib.dir" value="${basedir}/WebRoot/WEB-INF/lib" />
<property file="hibernate.properties" />
<!-- 定义xdoclet的classpath -->
<path id="xdoclet.task.classpath">
<fileset dir="${xdoclet.home}/lib">
<include name="**/*.jar" />
</fileset>
<fileset dir="${xdoclet.home}/plugins">
<include name="**/*.jar" />
</fileset>
</path>
<!-- 定义hibernate的classpath -->
<path id="hibernate.task.classpath">
<fileset dir="${hibernate.lib.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${basedir}/hibernate_tools">
<include name="**/*.jar" />
</fileset>
</path>
<!-- 定义任务 -->
<taskdef name="xdoclet" classname="org.xdoclet.ant.XDocletTask" classpathref="xdoclet.task.classpath" />
<target name="生成Hibernate配置文件">
<xdoclet>
<fileset dir="${src.dir}/model">
<include name="**/*.java" />
</fileset>
<component classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin" destdir="${src.dir}" version="3.0" hbm2ddlauto="update" jdbcurl="${hibernate.connection.url}" jdbcdriver="${hibernate.connection.driver_class}" jdbcusername="${hibernate.connection.username}" jdbcpassword="${hibernate.connection.password}" dialect="${hibernate.dialect}" showsql="true" encoding="utf-8" />
</xdoclet>
</target>
<target name="生成Hibernate映射文件">
<xdoclet>
<fileset dir="${src.dir}/model/">
<include name="**/*.java" />
</fileset>
<component classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin" destdir="${src.dir}" version="3.0" encoding="utf-8" />
</xdoclet>
</target>
<target name="生成SQL语句" depends="生成Hibernate映射文件">
<mkdir dir="sql" />
<java classname="org.hibernate.tool.hbm2ddl.SchemaExport" fork="true">
<classpath refid="hibernate.task.classpath" />
<arg value="--text" />
<arg value="--quiet" />
<arg value="--format" />
<arg value="--output=sql/schema.sql" />
<arg value="--properties=${basedir}/hibernate.properties" />
<arg value="--delimiter=;" />
<arg value="${src.dir}/model/fk11/*.hbm.xml" />
</java>
</target>
</project>
package model.fk11;
/**
* @author Shichun Tang
* @hibernate.class table="PERSON"
*/
public class Person {
/**
* @hibernate.id generator-class="native" column="ID" type="Integer"
*/
private Integer id;
/**
* @hibernate.property column="NAME" type="String" length="40"
* not-null="true"
* @hibernate.meta attribute="field-description" value="人名"
*/
private String name;
/**
* @hibernate.property column="AGE" type="Integer"
* @hibernate.meta attribute="field-description" value="年龄"
*/
private int age;
/**
* @hibernate.many-to-one foreign-key="ADDRESS_ID" unique="true"
* @hibernate.meta attribute="field-description" value="引用地址表中的ID"
*/
private Address address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
package model.fk11;
/**
* @hibernate.class table="ADDRESS"
*/
public class Address {
/**
* @hibernate.id generator-class="native" type="Integer" column="ID"
*/
private Integer id;
/**
* @hibernate.property column="DETAIL" not-null="true" type="String"
* length="255"
* @hibernate.meta attribute="field-description" value="地址详细"
*/
private String detail;
public String getDetail() {
return detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}