准备工作:从网上把MiddleGen for Hibernate和Hibernate_Extension下载下来解压放入项目的lib文件夹中,再将要用到的数据库jar文件复制到 Middlegen-Hibernate-r5/lib文件夹下(后面生成映射文件时要用到).下载地址为:
Hiernate-Extension Tools (http://www.hibernate.org)
MiddleGen (http://sourceforge.net/project/showfiles.php?group_id=40712&package_id=84728)
首先,进入项目中的lib/MiddleGen-Hibernate-r5/config/database 子目录,根据要使用的数据库打开对应的配置文件,如 MS SQL Server的是mssql.xml, 根据自己的情况进行修改就行了
<property value=""/>
<property value="${lib.dir}/mssqlserver.jar"/>
<property value="${database.driver.file}"/>
<property value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<property value="jdbc:microsoft:sqlserver://localhost:1433;database=databasename"/>
<property value="youruser"/>
<property value="yourpassword"/>
<property value="dbo"/>
<property value="databasename"/>
注意:这里的${lib.dir}特指的是MiddleGen-Hibernate-r5/lib目录,而不是项目的lib目录.
第二步:修改MiddleGen-Hibernate-r5根目录下的build.xml文件,这是MiddleGen的Ant构建配置,有最基本的四步要修改:
1. 在此文件的上部有结点:<!DOCTYPE project [ <!ENTITY database SYSTEM "file:./config/database/hsqldb.xml"> ]> , 修改其中引号内的内容,为它指定刚才配置的mssql.xml文件的位置, 在这里只用将hsqldb.xml换为mssql.xml就行了.
2. 再在下面一点点的地方,有很多name,value这样的属性对,找到<property value="airline"/>, 这里是指定你的项目的名称,把airline给换掉就行.
3. 在这些name, value属性对里面还有一个要改的就是下面的<property value="${build.dir}/gen-src"/>, 这里是指定映射文件的输出目录, 换掉value中的值, 我这里换成的是value="../../../../src"(因为我是JEE Web Project).
4. 最后一个地方就是文档的中间靠下面一点了,我这个版本的文档是在差不多180多行的地方, 有个以下结点:
<hibernate
destination="${build.gen-src.dir}"
package="${name}.hibernate"
genXDocletTags="false"
genIntergratedCompositeKeys="false"
javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/> 结点的package属性是由前面的项目名称(${name})和.hibernate组合成的,也就是说生成映射文件时放在项目的 src/${name}/hibernate/文件夹下, 改为自己需要的就行了, genXDocletTags属性设为true的话生成的代码将包含XDoclet Tag, 这为以后在开发过程中借助XDoclet进行映射调整提供了帮助.
此时,MiddleGen已经配置完毕, 将MiddleGen-Hibernate-r5根目录下的build.xml文件作为Ant构建运行即可,如果出来一个界面就表示配置成功, 此时就可以利用这个工具进行设置从数据库中导出表结构了.