使用myeclipse的hibernate reverse engineering(反向工程)的两个问题

今天用hibernate的反向工程碰到两个蛮麻烦的问题,于是就写下来一方面做个记录,以后可以翻查到,另一方面可以帮助其他遇到这些问题的朋友。

 

问题一:

今天新建了一个hibernate工程,然后使用反向工程,第一次成功的,但由于反向工程结束后,发现了一些问题,于是就把实体类和xml配置文件都删除了,准备再反向工程一次,结果就遇到了问题。不管怎么点hibernate reverse engineering选项,都没有对话框弹出来。

于是我就又在其他的工程中试了下,发现还是没对话框弹出来,接着我就新建了一个工作空间然后重复反向工程的操作,结果发现居然可以打开了。所以我就认为是工作空间的设置问题,即便之前我都没修改过原来的工作空间的配置,但还是在配置方面研究了很久,最后仍然不得其果。

实在没办法了,我就到google去搜索,在一个外国网站上,发现也有人遇到和我一样的问题,看了他们的交流后,我知道该怎么修复问题了,他们的原文是这样的:

That is odd, it shouldn't fail to open as you described. I've filed a PR on this for internal investigation.

To get you started immediately, open the .myhibernatedata file in your current project and find the line which says reSettingsFile=... and delete the entire line and save the file.

Close and reopen your project and then try invoking the wizard.

Let us know how it goes,
大概的意思就是找到工程目录下的.myhibernatedata文件,然后找到reSettingsFile=...那行,最后删除整行。
我照着他的意思做完后,就发现点击hibernate reverse engineering后终于弹出了对话框,可以进行反向工程了。
 
============================================================================================
 
问题二:
      第2个问题是不管我进行多少次反向工程,每次创建的实体类都在默认包里,即便是我指定了哪个包,他还是只在默认包中创建实体类,这使我百思不得其解,虽然在google搜了很久,但还是没找到解决的办法。
      后来我在检查每一个文件的时候,发现hibernate.reveng.xml文件中,table节点的属性class的值是实体类的类名,这个class属性的值是当我们在进行反向工程的时候人为的去修改数据表对应的实体类类名的时候我们所取的那个名字,因为mysql中不管是表名还是列名都是小写的,反向后的实体类的拼写方法不太符合java的类名取值习惯,所以我就对他进行了修改。
      于是我就想,会不会是因为这个值前没有带包名,所以才放到了默认包下,于是我就在修改class名的时候在类名前填写了我的完整包名,然后finish,结果发现实体类都完好的跑到应该到的包下去了。
          回看hibernate.reveng.xml中的table节点下的class属性的值就已经带有了完整包名了。
 
===============================================================================================
以上是我遇到的两个问题,希望对大家能有所帮助。

 

摘自:http://blog.sina.com.cn/s/blog_850822020100tx05.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值