使用 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 驅動。