1. 程式人生 > >eclipse逆向生成hibernate的實體類

eclipse逆向生成hibernate的實體類

image direct 連通 XML engine 收藏 通過 技術分享 自帶

eclipse從數據庫逆向生成Hibernate實體類(註解和配置文件)

分類: hibernate 數據庫 java 2011-10-22 21:28 2915人閱讀 評論(8) 收藏 舉報

做項目必然要先進行數據庫表設計,然後根據數據庫設計建立實體類(VO),這是理所當然的,但是到公司裏做項目後,讓我認識到,沒有說既進行完數據庫設計後還要再“自己”建立一變VO。意思是,在項目設計時,要麽根據需求分析建立實體類,由正向生成數據庫表;要麽就先進行數據庫表設計,再逆向生成實體類。沒有說進行完任意一方的設計後再去花時間去自己匹配建立另一方的設計。

原因是:

1. 1.5倍工作量,浪費時間。(時間對公司來說很重要)

2. 無法保證兩邊映射一致。因為兩邊都是自己設計的,那麽就需要人為保證映射關系統一,會有隱患。

3. 開發、維護上都不利。因為如果任意一方因某些原因需要改用,那麽經常要兩邊都要改,這樣的話映射不一致的可能性不僅更大,而且效率低下。而如果利用正逆向工程的話,則很容易解決。

所以,因項目原因我便研究了下由數據庫逆向生成Hibernate實體類的方法。

在Myeclipse中,正逆向工程操作比較簡單,而如果是eclipse的話,會比較麻煩,因為必須要先配置下Hibernate環境(同理如果要生成其他持久化層框架的實體類,也需要先配置)。

有關eclipse配置Hibernate環境的方法這裏就不敘述了,上網搜吧,我給提供個參考鏈接:

http://hi.baidu.com/java513/blog/item/6be18a3c5d79daf43c6d9742.html

那麽下面講述正題:如何從數據庫逆向生成Hibernate實體類

1. 首先,要在eclipse中采用自帶的數據庫管理器(Data Management),連通你的數據庫:

技術分享

技術分享

技術分享

然後選擇數據庫,這裏用的oracle,然後給個名字,如MyOracle。

技術分享

點擊下圖中按鈕,新建一個數據庫驅動的配置。

技術分享

選擇數據庫版本,這裏是oracle 10g版本,可以為該配置另起個名字。

技術分享

然後選擇相應數據庫版本的jar包。

技術分享

下面就是依據自身情況填寫數據庫連接配置了。

技術分享

接下來,完善Properties下的General選項卡內容,同樣是連接數據庫的信息,配置完後點擊Test Connection按鈕測試是否能連通數據庫。

技術分享

然後點擊Next,再確認無誤後,單擊Finish。

之後Data Management就會出現MyOracle的數據庫資源管理器,發生變化如下說明數據庫配置成功。

技術分享

2. 生成hibernate實體類

打開Hibernate Configurations窗口。

技術分享

然後在打開窗口右擊,點擊Add Configuration...

技術分享

Project選擇項目(test),Database connection選擇剛剛配好的MyOracle(其實可以直接選擇[Hibernate configured connection]通過Hibernate配置文件連接數據庫,但是通過這種方式並不一定能成功,單獨采用Data Management也同樣不一定成功,原因不是很清楚,所以最後采用Data Management + Hibernate配置文件的結合方式,這樣就比較保險啦)

技術分享

在項目(test)內任意位置新建Hibernate的相關配置文件(hibernate.properties和hibernate.cfg.xml)。

依次點擊Property file: 的Setup...按鈕

新建hibernate.properties:

技術分享

點擊Configuration file: 的Setup...按鈕

新建hibernate.cfg.xml:

技術分享

技術分享

返回Edit Configuration窗體後,選擇Common選項卡中Encoding選擇UTF-8,其他默認即可,點擊OK按鈕

技術分享

這樣Hibernate Configuration就添加了一個配置信息,如下圖

技術分享

在eclipse菜單欄中的工具欄的空白處右擊鼠標,選擇Customize Perspective

技術分享

彈出如下窗體後,依照圖中選擇Command Groups Availability選項卡,勾選Hibernate Code Generation,然後單擊確定。

技術分享

之後工具欄就會出現相應按鈕。

技術分享

單擊該按鈕,並選擇圖中Hibernate Code Generation Configurations

技術分享

然後彈出如下該窗口,按如下圖操作,右擊後選擇New

技術分享

彈出如下窗體,選擇輸出的項目地址,填寫包名,勾選Reverse engineer from JDBC Connection,然後創建hibernate.reveng.xml

註意:圖中的Output_directoty+Package才是之後的實體類所在的包位置。 圖中實體類在hibernate包中。

建議Output directory圖只到src,Package中填入完整所需的包名。如:com.test.entities。

技術分享

創建hibernate.reveng.xml:

技術分享

Console configuration選擇剛剛配置好的hibernate,點擊Refresh按鈕,就會出現數據庫的全部schema,找到你的數據庫,然後將其Include到右側窗口裏,然後點擊Finish按鈕完成hibernate.reveng.xml的創建。

技術分享

返回後選擇Exporters選項卡。此處可有兩種生成選擇:註解生成或配置文件生成

方式一、註解生成

技術分享

註解生成效果如下:

技術分享

方式二、配置文件生成

勾選Domain code和Hibernate XML Mappings,然後點擊Run按鈕

技術分享

配置文件生成效果如下:

技術分享

eclipse逆向生成hibernate的實體類