接著加入相關的jar檔,如 Hibernate
及 jdbc for Oracle
接下來在Project上新增一
Hibernate Configuration File
選擇存放hibernate.cfg.xml的位置,一般位於 src根目錄
接著進入如下畫面,開始著手相關配置
可以使用Get values from Conntection 來建立(New)配置檔,以後直接選擇配置檔存取即可
選擇資料庫類型,Name及Description 任意,接著點選Next
選擇資料庫版本,一般選Oracle
Thin Driver,接著將相關的jdbc jar檔位置設定好
再至Properties 設定相關資料庫屬性,如UserID Password
完成後,會在src的目錄下看到該檔案(hibernate.cfg.xml),但請進入修改依些設定,如下圖
接著開啟一個新的 Perspective --> Hibernate
接下來可以在畫面分頁中查看是否設定正確,若正確,則可以在Database中查看相關Table資料
接下來執行 Hibernate Code Generation
Configurations...
開啟畫面如下,可以新增一個自己的配置
【Main】
Console configuration --> 選擇自己的專案名稱
Output directory --> 選擇輸出檔案的目錄,一般設定為 src
Reverse engineer from JDBC Connection --> 請勾選
package --> 選擇要放置升成 java 映射檔的 pagkage 為何
reveng.xml --> 若未建立過,請選擇新增,一般也是設定在 src 的目錄下
【Exporters】
選擇要產出的檔案類型 如 java / hbm.xml映射檔等
其餘的不太需要變更,直接選擇Run,會發現專案目錄已出現我們要的檔案
其餘一些相關設定如以下圖片:
【Table filters】
可選擇要建立相關映射的 Table
選擇產出的 ?.hbm.xml 檔案中,jdbc的資料型別對應Hibernate的類型
將重複無用對應資料刪除
建立要加入該 ?.hbm.xml資料的對應欄位,可順便設定primary key 及 相關產出方式
範例:
<id name="logId"
type="long">
<column name="LOG_ID"
precision="10" scale="0"
/>
<generator class="native">
<param name="sequence">CHECKIN_LOG_AUTO</param>
</generator>
</id>
對照的選項如下:
完成後產出資料後,請記得去將該 ???.hbm.xml 加入 hibernate.cfg.xml 的 mapping 中,如下
修改後的結果,其實可透過介面新增屬性,當然也可以直接對source對修改
如此就可以試著使用該產出的檔案,若有勾選輸出DAO,則可直接拿來運用
但請記得修改當中的 getSessionFactory()
protected SessionFactory getSessionFactory() {
try {
//return (SessionFactory) new
InitialContext().lookup("SessionFactory");
return (SessionFactory)new
Configuration().configure().buildSessionFactory();
} catch (Exception e) {
log.error("Could not locate SessionFactory in JNDI", e);
throw new IllegalStateException(
"Could not locate SessionFactory in JNDI");
}
}
如此一來才能順利取得 hibernate.cfg.xml 的相關配置資料
By William Hsu 2013.12.12
參考資料:
eclipse利用Hibernate Tools生成Hibernate Mapping文件及PO类
eclipse下wtp+HibernateTools開發筆記
Hibernate 學習筆記 - openhome.cc
參考資料:
eclipse利用Hibernate Tools生成Hibernate Mapping文件及PO类
eclipse下wtp+HibernateTools開發筆記
Hibernate 學習筆記 - openhome.cc
版主您好:無意見看到這裡, 我正在學hibernate 框架, 你的解說超詳細,我還在試;
回覆刪除版大似乎是資深軟體工程師?? 右邊的文章很多; 看來精通很多東西...
您好:
刪除我只是個小小PG,公司要我做什麼就做什麼的小人物而已,這些只是我在使用的過程中順手記下來的,怕以後忘記要再找很麻煩而已,有幫到您就好