eclipse下通过hibernate tools实现hibernate反向工程

来源:互联网 发布:数据采集费发票 编辑:程序博客网 时间:2024/05/02 04:42

 最近搭建新的项目,需要使用eclipse下通过hibernate tools实现hibernate反向工程生成实体类和对应的hbm.xml文件,现在记录下方便以后回忆:

1、首先要下载安装hibernate tools;

2、按照这篇文章操作:http://blog.csdn.net/success041000/article/details/6455080;

3、注意:补充下上面的文章,在使用过程中会出现类似如下提示:

org.hibernate.cfg.JDBCBinderException: Duplicate class name 'com.dqgbcd.sczzks.entity.AllFileGroups' generated for 'org.hibernate.mapping.Table(SYS._ALL_FILE_GROUPS)'. Same name where generated for 'org.hibernate.mapping.Table(SYS._ALL_FILE_GROUPS)'
Duplicate class name 'com.dqgbcd.sczzks.entity.AllFileGroups' generated for 'org.hibernate.mapping.Table(SYS._ALL_FILE_GROUPS)'. Same name where generated for 'org.hibernate.mapping.Table(SYS._ALL_FILE_GROUPS)'

原因:这是因为数据库中还有许多系统表,在对系统表进行逆向工程时出错。

解决方案:

建立hibernate.reveng.xml作逆向配置。

设定只有dbo下的schema被用做逆向。

参考配置代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >

<hibernate-reverse-engineering>
   <table-filter match-schema="AMES" match-name="ATTACH"/>
 <table-filter match-schema="AMES" match-name="ATTACH_GROUP"/>
......
</hibernate-reverse-engineering>

注意:match-schema就是用户名,match-name就是表名,注意大小写的区分