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

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

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

连接上数据库,选择表,在上下文菜单中点击 Hibernate Reverse Engnieering, 直接点 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 驱动。

类别: Hibernate. 标签: , . 阅读(261). 订阅评论. TrackBack.

Leave a Reply

8 Comments on "MyEclipse5.1生成映射文件出现Generating Artifacts错误"

avatar
xw
Guest
xw

感谢楼主及lsy,我的问题得到解决,结合两位的办法。谢了。

太感谢了!!!!!!!!1
Guest
太感谢了!!!!!!!!1

楼主真是好人。

太感谢了!!!!!

日,重启一下真的好了。

garlic
Guest
garlic

刚刚换成了驱动 ojdbc14.jar,然后重启Eclipse ,OK ,搞定!谢谢了!

s
Guest
s

用了上述的两种方法怎么还是不行啊 晕了

nenty
Guest
nenty

我日,还真是的!谢谢楼主

隔叶黄莺
Guest

这是另一种类型的问题了,很好,收下啦。

lsy
Guest
lsy

2.今天本人也遇到这个问题,不过我用的mysql 5.1 数据库,也重启了myeclipse,但仍不管用,后来发现,我在生成映射文件时,主键生成方式选的是”native”(由数据库分配),而我在数据为库中并没有指定主键生成方式.所以在生成映射文件时出现上述错误.

解决:1. 在生成表映射文件时,主键生成方式选择”assigned”(由外部分配).

2. 如果选”native”,在数据库中主键生成方式选择”Autoincrement”.

WY
Guest
WY

果然重新启动就可以了,我日了,太感谢了