1、所使用的软件及其版本如下:ant-1.6.5
Middlegen-Hibernate-r5
hibernate-extensions-2.1
hibernate-2.1.6
以上均解压到D盘
2、配置ant
将ant考到D:根目录
环境变量里加上ANT_HOME=D:ant
PATH=D:antin;
在DOS命令行下输入ant, 如果出现如下提示,就说明ant已配置成功了:
Buildfile: build.xml does not exist!
Build failed
3、配置Middlegen-Hibernate:
3.1 配置mssql.xml文件,此文件用来配置SQL Server数据库连接
将SQL Server三个jar文件(mssqlserver.jar; msbase.jar; msutil.jar)copy到Middlegen-Hibernate-r5lib目录中。
在Middlegen-Hibernate-r5configdatabase目录中有一个mssql.xml文件,是用来配置SQL Server数据库的连接的。内容修改如下(红色为修改部分)为:
3.2 配置Middlegen-Hibernate-r5的ant运行文件build.xml
指出使用的数据库配置文件。
<project name="Middlegen Hibernate" default="all" basedir=".">
<property file="${basedir}/build.properties"/>
<property name="name" value="sample"/>
指出生成的*.hbm.xml输出的路径:
<property name="build.gen-src.dir" value="C:/sample"/>
配置hibernate:
<hibernate
destination="${build.gen-src.dir}"
package="org.hibernate.sample" ――――――指出hbm所在的包的位置。
genXDocletTags="true" ――――――指出hbm.xml中是否需要XDoclet Tags。
genIntergratedCompositeKeys="false"
javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
配置Middlegen:
<middlegen
appname="${name}"
prefsdir="${src.dir}"
gui="${gui}"
databaseurl="${database.url}"
initialContextFactory="${java.naming.factory.initial}"
providerURL="${java.naming.provider.url}"
datasourceJNDIName="${datasource.jndi.name}"
driver="${database.driver}"
username="${database.userid}"
password="${database.password}"
schema="${database.schema}"
catalog="${database.catalog}"
includeViews="true"――――――指出包括视图。
>
4、运行Middlegen-Hibernate:
在Middlegen-Hibernate目录下运行ant,进入Middlegen-Hibernate的图形界面。可以设置表,和字段的特性。然后按Genarate,产生hbm.xml文件。
5、配置hibernate-extensions
5.1 在hibernate-extensions oolsin目录下有3个工具,他们的功能如下:
5.1.1 class2hbm.bat
根据POJO class 生成映射文件
也就是根据你自己对应表所写的java文件,生成相应的*.hbm.xml文件;
5.1.2 ddl2hbm.bat
由数据库导出库表结构,并生成映射文件以及POJO。这个功能与MiddleGen 的功能重叠,也不够成熟(实际上已经被废弃,不再维护);
5.1.3 hbm2java.bat
根据映射文件生成对应的POJO,即根据Middlegen生成的*.hbm.xml文件再生成相应的*.java文件
5.2 在hibernate-extensions-2.1.2 oolsin目录有一个setenv.bat文件,改变其内容为:
set JDBC_DRIVER=D:Middlegen-Hibernate-r5libmssqlserver.jar
set HIBERNATE_HOME=....hibernate-2.1.6
set CORELIB=%HIBERNATE_HOME%lib
set LIB=..lib
set PROPS=%HIBERNATE_HOME%src
set CP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%hibernate2.jar;%CORELIB%commons-logging-1.0.4.jar;%CORELIB%commons-collections-2.1.1.jar;%CORELIB%commons-lang-1.0.1.jar;%CORELIB%cglib-full-2.0.2.jar;%CORELIB%dom4j-1.4.jar;%CORELIB%odmg-3.0.jar;%CORELIB%xml-apis.jar;%CORELIB%xerces-2.4.0.jar;%CORELIB%xalan-2.4.0.jar;%LIB%jdom.jar;%LIB%..hibernate-tools.jar
6、 运行hibernate-extensions,根据hbm.xml产生POJO文件
在DOS中运行hbm2java c:sampleorghibernatesample*.xml --output=c:sample
关于作者:
杨晓,北京工商大学计算机硕士,曾在NEC-SI、Softbrain 担任java开发工作。
博客:http://blog.sina.com.cn/u/1237288325