eclipse從資料庫逆向產生Hibernate實體類

來源:互聯網
上載者:User

做項目必然要先進行資料庫表設計,然後根據資料庫設計建立實體類(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)。

建立hibernate.properties:

建立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

建立hibernate.reveng.xml:

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

返回後選擇Exporters選項卡,勾選Domain code和Hibernate XML Mappings,然後點擊Run按鈕

最終產生效果如下:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.