MyEclipse5.1生成映射文件出现Generating Artifacts错误

使用 Eclipse3.2.1+MyEclipse5.1+classes12.jar+Hibernate3


建立了 Hibernate3 的 Project, 使用上面那个 classes12.jar 的驱动,在 MyEclipse 的 DB Browser

连接上数据库,选择表,在上下文菜单中点击 Hibernate Reverse Engineering, 直接点 Finish 按钮,

生成映射文件是出现出错:
An internal error occurred during "Generating Artifacts"

原来在 Eclipse3.1+4.1+Hibernate 连接 DB2 时一切正常,曾经用 MyEclipse5.0 也正常生成出映射文件来,可最近总是连接 Oralce 生成映射文件时出现以上错误,一直也没去找是什么原因,搁置了很久,今天想看看 MyEclipse 对于建立了主外键关系的表(其中子表有自己的主键)生成的一对多关系的映射文件是什么样子的,才在网上找找这到底是怎么回事的。

网上的说话基本都是说驱动太老了,必须换成更新的驱动,因为我本地安装的是 Oracle92,所以为 MyEclipse 指定 Oracle92 安装目录中的驱动,以下包中1、4、9、10都依依试过,可是故障依旧

1.  %OraHome%\jdbc\lib\classes111.jar
2.  %OraHome%\jdbc\lib\classes111.zip
3.  %OraHome%\jdbc\lib\classes111_g.jar
4.  %OraHome%\jdbc\lib\classes111_g.zip
5.  %OraHome%\jdbc\lib\classes12.jar
6.  %OraHome%\jdbc\lib\classes12.zip
7.  %OraHome%\jdbc\lib\classes12_g.jar
8.  %OraHome%\jdbc\lib\classes12_g.zip
9.  %OraHome%\jdbc\lib\ojdbc14.jar
10. %OraHome%\jdbc\lib\ojdbc14_g.jar
11. %OraHome%\jdbc\lib\classes12dms.jar
12. %OraHome%\jdbc\lib\classes12dms_g.jar

偶然的机会,在 Eclipse 重新启动了之后,再次用同样的方法生成映射文件成功了,查看一下重启前配置了 Oralce 驱动是用的上面第 10 个包。

再次使用那个有问题的 Oracle 驱动 classes111.jar 不重启 Eclipse,来生成映射文件也是顺利的,所以一定要记得在重新配置了 MyEclipse 的 Database Explorer 驱动之后要使用新的驱动来生成映射文件前重启一下你的 Eclipse,虽然连接的时候能够立即使用刚刚配置的驱动,但生成映射文件时却有些顽固,这大约也是 MyEclipse 的一个 Bug 吧。

应该使用上面列出的任意一个驱动都是可行的,只侧重点不同而已,也不知道先前哪个 classese111.jar 是哪来的,困扰我这么久。

看网上介绍说 Oracle 官方更推荐用 ojdbc12.jar 驱动。 永久链接 https://yanbin.blog/myeclipse51-generating-artifacts/, 来自 隔叶黄莺 Yanbin's Blog
[版权声明] 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。