使用Hibernate Tools从数据库自动逆向生成Hibernate实体类
自动生成model.java、*.hbm.xml 甚至是dao.java、*.ddl、*.html等等。一般也就如下三种方式
1. MyEclipse 自带插件
2. jboss的 hibernate-tools插件(最为常用)
3. ant 脚本方式。
当然也有一些其他工具自动生成,比如 SSM 的 mybatis-Generator 自动生成dao、model、mapping 等等,
基于目前SSH 和 eclipse 选择第二种方式 hibernate-tools插件。网上看了一些资料大部分都是mysql和oracle驱动的,
由于目前项目是sqlserver,添加驱动的时候绕了半天弯子(没有找到公司sqlserver驱动),特此总结下。
一、集成Hibernate tools
网上资料挺多的,一般是离线、和在线,由于不是特别大,我选了在线安装
Help-->Eclipse Marketpalce...-->搜索JBoss tools->install
勾选Hibernate tools,点击next,进行安装。
注意版本,找自己eclipse版本对应的安装,我的是INDIGO
安装后,重启Eclipse。搞定。
启用Hibernate perspective: Windows->Perspective->Open Perspective->Other...->选择Hibernate
二、配置hibernate.cfg.xml
步骤
1 新建一个hibernate configuration(操作入口:项目 ---> 新建 ---> other ---> hibernate)
2 点击“next” 下一步 选择项目中路径,存放 hibernate.cfg.xml 目录。
3 点击“next“,填写相关信息。
4 点击“next” 注意hibernate版本,选择自己的项目。
5 点击“new”选择对应数据库
6 点击“next” ,(驱动自己下载的sqljdbc_6.2.2.0_chs.tar.gz)自己找到的可以忽略
7 如果出现如下错误,点击加号,选择自己本地的驱动
8 完成后点击“ok”,填写完数据库的相关连接后,可以点Test Connection测试是否可以连接上。
驱动不对
连接成功
9 选择steup 创建*.cfg.xml
10 可以点击next配置更具体的设置,此处我们直接Finsh
11 查看Hibernate Configurations视图
12 如果报错“database dialect”无效,请选择“Options”中对应server
最后查看下刚才建好的hibernate.cfg.xml文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property> <property name="hibernate.connection.password">33301</property> <property name="hibernate.connection.url">jdbc:jtds:sqlserver://192.168.1.16:1433;DatabaseName=C33RM_BA</property> <property name="hibernate.connection.username">user</property> <property name="hibernate.dialect">SQL Server</property> </session-factory> </hibernate-configuration>
三、配置hibernate.reveng.xml
1 在“Hibernate Perspective”视图中, 点击 “Hibernate Code Generation Configuration”
2 填写对应信息
在生成代码框中,新建configuration,并填写Main选项卡和Exporters选项卡,
Main中需要填写输出路径等,填完的如下
console configuration选择前边刚配置完的Hibernate Configuration,前边的名字是“hibernate”
Output directory选择输出路径
Reverse enginner from JDBC Connection勾选
Package填写包名
reveng.xml填写创建hibernate.reveng.xml的位置,没有则新建。
3 选择Exporters 标签 选择需要生成哪些文件,这里选择 model.java 和 *.hbm.xml
4 最好是选择Common 选择一下编码格式
5 保存就好,点击关闭会提示保存。 至此准备工作做完。
6 双击打开创建好的hibernate.reveng.xml ,可以直接在Source中配置需要生成的表,也可以在 table Filters 中 include 数据库中表
7 见证奇迹的时候到了,保存后点击 上面 3 步骤中的 Run 生成如下代码
备注:
hibernate.reveng.xml 还可以修改数据库转换到model的字段类型(譬如数据库中值为int时,默认会转变为Integer)
修改talbe & colums 中选中字段设置hibernate type。
也可以配置类名(不设置的话,根据表名自动生成)
配置id生成方式(1.add primary key ,2 add generator(类型为assigned,如需要其它类型直接在文件中进行修改))
等等。。。。。