前文:html
hibernate帶給咱們的O/RMapping思想是很正確的,即從面相對象的角度來設計工程中的實體對象,創建pojo,而後在編寫hbm.xml映射文件來生成數據表。可是在實際開發中,每每咱們會首先從數據庫的設計角度出發來實現咱們預期的項目。因此,這裏詳述從數據庫表到實體類的生成。mysql
數據庫:MySQL 5.1sql
MyEclipse版本:8.0M1數據庫
Hibernate版本:3.2session
首先,我在數據庫中創建了以下E-R關係:app
學生與班級1對多,學生與課程多對多(生成的中間表爲:stu_course),學生與身份證:1對1,學生引用身份證主鍵做爲外鍵(unique)。工具
生成的表結構:測試
按照下圖所示,打開MyEclipse Database Explore視圖spa
點擊Add Jars,加入數據庫的jar文件。
填寫Connection Url: jdbc:mysql://localhost:3306/hibernatetab2pojo
用戶名和密碼:root
Driver name: com.mysql.jdbc.Driver
填寫完畢以後,能夠點擊Test Driver,若是成功,那麼接着下一步。
轉回到Java視圖,在項目上點擊右鍵,選擇MyEclipse-->add Hibernate Capabilities
而後下一步選中一個目錄存放自動生成hibernate.cfg.xml文件,通常毫無例外的放在src根目錄下,下一步選中咱們第一步創建的那個數據庫對象,而後下一步選中一個目錄存放自動生成的HibernateSessionFactory工具類,這個hibernateSessionFactory工具類就是一個獲取Session的單例,還有一些其它關閉session之類的方法。
最後,也是最關鍵的一步,生成實體類。
轉換到MyEclipse Database Explorer視圖,打開咱們的數據庫:hibernatetab2pojo,展開表,選中全部表:
而後,點擊右鍵,選擇Hibernate Reverse Engineering。。。
選中:Create POJO<>。。。,選中Create a Hibernate。。。,選中Update Hibernate。。。。。,接着下一步。
Id Generator:選中native(在我設計的表中,id是自增的,若是想嘗試其它的朋友可自行測試)
選擇:Hibernate types
其它能打勾的都打勾。
下一步,直接點擊finish便可以生成實體類和相應的hbm.xml文件。而且hibernate.cgf.xml也會配置好。