1.在开源网站http://prdownloads.sourceforge.net/hibernate/下载所需的三个压缩包(hibernate,middlegen,hibernate-extensions-2.1.3),分别解压缩。
2.配置Middlegen 目录下的Config/database/目录中对应数据库XML文件的参数。
3.在Middlegen 的根目录中找到Build.xml 文件的
<!DOCTYPE project [
<!ENTITY database SYSTEM "file:./config/database/oracle.xml">
]>
<property name="src.dir" value="${basedir}/src"/>
<hibernate
destination="${build.gen-src.dir}"
package="com.guanda.fysky.model"
genXDocletTags="false"
genIntergratedCompositeKeys="false"
javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
段,将"oracle.xml"修改为对应的数据库配置文件,同时修改生成代码的包名、路径、项目名称等参数。
4.在命令行模式,切换到Middlegen的根目录,执行ant,将会启动Middlegen 的界面,Middlegen 的详细设置请参考相应文档 ,设置完成后,点击按钮生成, Middlegen就会在Build文件中指定的路径生成Hibernate的映射文件。
5.切换到 hibernate-extensions-2.1.3 目录的“/tools/bin”目录下,修改文件“setenv.bat”中的JDBC_DRIVER、HIBERNATE_HOME、HIBERNATETOOLS_HOME段,同时检查CP段中的包名,按照本机配置详细检查,有些包名是没有版本号的,但是默认的配置文件包含版本号,应该去掉。我配置后的结果如下:
@echo off
rem -------------------------------------------------------------------
rem Setup environment for hibernate tools
rem -------------------------------------------------------------------
set JDBC_DRIVER=C:/Downloads/Middlegen/lib/classes12.jar
set HIBERNATE_HOME=C:/Downloads/hibernate-2.1
set HIBERNATETOOLS_HOME=C:/Downloads/hibernate-extensions-2.1.3/tools
echo HIBERNATETOOLS_HOME set to %HIBERNATETOOLS_HOME%
if "%HIBERNATE_HOME%" == "" goto noHIBERNATEHome
set CORELIB=%HIBERNATE_HOME%/lib
set LIB=%HIBERNATETOOLS_HOME%/lib
set CP=%CLASSPATH%;%JDBC_DRIVER%;%HIBERNATE_HOME%/hibernate2.jar;%CORELIB%/commons-logging.jar;%CORELIB%/commons-lang.jar;%CORELIB%/cglib2.jar;%CORELIB%/dom4j.jar;%CORELIB%/odmg.jar;%CORELIB%/xml-apis.jar;%CORELIB%/xerces.jar;%CORELIB%/xalan.jar;%LIB%/jdom.jar;%CORELIB%/commons-collections.jar;%LIB%/../hibernate-tools.jar
if not "%HIBERNATE_HOME%" == "" goto end
:noHIBERNATEHome
echo HIBERNATE_HOME is not set. Please set HIBERNATE_HOME.
goto end
:end
6.在hibernate-extensions-2.1.3 目录的“/tools/bin”目录下,执行
hbm2java "hbm文件的路径加文件名,可以带通配符" --output="生成后的 JAVA文件的路径"
如:hbm2java c:/simple/*.xml --output=c:/simple,就会在"c:/simple目录下生成对应的POJO".
这样通过middlegen产生hibernate基础代码的工作就完成了。