[b]從映射文件生成資料表 [/b]
[b]從資料表生成映射文件與POJO [/b]
public class HbmToTablesTest {
public static void main(String[] args) {
Configuration config = new Configuration().configure();
System.out.println("Create tables ......");
SchemaExport shemaExprot = new SchemaExport(config);
shemaExprot.create(true, true);
}
}
[b]從資料表生成映射文件與POJO [/b]
<?xml version="1.0" encoding="GBK"?>
<project name="利用工具开发Hibernate" default="help" basedir=".">
<!-- ****** 环境设置,可以根据自己的实际配置自行更改 ***** -->
<!-- 源文件目录, 可以通过 项目->属性->Java构建路径 更改 -->
<property name="src.dir" value="./src" />
<!-- 输出的class文件目录,可以通过 项目->属性->Java构建路径 更改 -->
<property name="class.dir" value="./bin" />
<!-- 库文件目录 -->
<property name="lib.dir" value="D:/java/Hibernate/lib" />
<!-- 定义类路径 -->
<path id="project.class.path">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<pathelement location="${class.dir}" />
</path>
<!-- ************************************************************** -->
<!-- 使用说明 -->
<!-- ************************************************************** -->
<target name="help">
<echo message="利用工具开发Hibernate" />
<echo message="-----------------------------------" />
<echo message="" />
<echo message="提供以下任务:" />
<echo message="" />
<echo message="generate-code --> 运行Hbm2Java,利用 hbm.xml 文件生成Java类文件" />
<echo message="generate-hbm --> 运行HibernateDoclet,生成 Hibernate 类的映射文件" />
<echo message="schemaexport --> 运行SchemaExport,利用 hbm.xml 文件生成数据表" />
<echo message="" />
</target>
<!-- ************************************************************** -->
<!-- Hbm2Java 任务 -->
<!-- ************************************************************** -->
<target name="generate-code" >
<echo message="运行 Hbm2Java 任务, 利用 hbm.xml 文件生成Java类文件"/>
<taskdef name="hbm2java"
classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"
classpathref="project.class.path">
</taskdef>
<hbm2java output="${src.dir}">
<fileset dir="${src.dir}">
<include name="**/*.hbm.xml"/>
</fileset>
</hbm2java>
</target>
<!-- ************************************************************** -->
<!-- HibernateDoclet 任务 -->
<!-- ************************************************************** -->
<target name="generate-hbm" >
<echo message="运行HibernateDoclet,生成 Hibernate 类的映射文件"/>
<taskdef name="hibernatedoclet"
classname="xdoclet.modules.hibernate.HibernateDocletTask"
classpathref="project.class.path">
</taskdef>
<hibernatedoclet destdir="${src.dir}"
excludedtags="@version,@author,@todo" force="true" encoding="GBK"
verbose="true">
<fileset dir="${src.dir}">
<include name="**/*.java"/>
</fileset>
<hibernate version="2.0" xmlencoding="GBK" />
</hibernatedoclet>
</target>
<!-- ************************************************************** -->
<!-- SchemaExport 任务 -->
<!-- ************************************************************** -->
<target name="schemaexport">
<echo message="运行SchemaExport,利用 hbm.xml 文件生成数据表"/>
<taskdef name="schemaexport"
classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
classpathref="project.class.path">
</taskdef>
<schemaexport config="${src.dir}/hibernate.cfg.xml" quiet="no"
text="no" drop="no" output="schema-export.sql">
</schemaexport>
</target>
</project>