Hibernate how to(一)

来源:互联网 发布:ios内存管理优化 编辑:程序博客网 时间:2024/06/14 05:35

Hibernate是「物件/關係對應」(Object/relational mapping)的解決方案,簡寫為ORM,所謂的ORM,簡單的說就是將Java中的物件與物件關係,對應到關聯式資料庫中的表格與表格之間的關係,Hibernate提供了這個過程中自動化對應轉換的方案,相反的,也提供關聯式資料庫中表格與表格之間的關係,對應至Java程式中,物件與物件的關係。

Hibernate在Java程式與資料庫之間進行轉換,Java程式設計人員只要事先定義好物件與資料庫表格之間的對應,之後Java程式設計人員可以用所熟悉的物件導向程式方法撰寫程式,而不用特定轉換SQL,所有SQL的轉換交由Hibernate進行處理。

Hibernate的官方網站在:
http://www.hibernate.org/

有關Hibernate介紹的簡體中文網站在:
http://www.hibernate.org.cn/

想要學習Hibernate,可以從官方網站的Hibernate参考手册開始,在上面的簡體中文網站中,有Hibernate參考手冊的簡體中文翻譯,這可以當作設定Hibernate相關功能時的參考手冊,書籍方面,可以看Manning的Hibernate in Action與Oreilly的Hibernate: A Developer's Notebook,Hibernate in Action當中介紹了很多關於持久層設計的觀念與理論,而A Developer's Notebook當中提供了較多實作的範例參考,另外,也可以在網路上找夏昕的Hibernate開發指南,可以讓您在短時間內瞭解Hibernate的概貌

Hibernate是ORM的解決方案,其底層對資料庫的操作依賴於JDBC,所以您必須先取得JDBC驅動程式,在這邊我們使用的是MySQL,所以您必須至以下網址先取得MySQL的JDBC驅動程式:
http://www.mysql.com/products/connector/j/

接下來取得Hibernate,在撰寫此文的同時,Hibernate最後的穩定版本是2.1.6,而3.0版還在測試階段,這邊的介紹將以2.1.6為主,所以請至以下網址取得hibernate-2.1.6.zip:
http://www.hibernate.org/

解開hibernate-2.1.6.zip後,當中的hibernate2.jar是必要的,而在lib目錄中還包括了許多jar檔案,其中dom4j、CGLIB、Commons Collections、Commons Logging、ODMG4、EHCache是必要的,而Log4j則是建議使用的,為何使用這些jar,在Hibernate參考手冊中有說明,您可以開啟doc/reference中的參考手冊,有英文版與簡體中文版的介紹,檔案格式則提供有html與pdf兩種,以下列出簡體中文中的說明:

dom4j(必需):Hibernate在解析XML配置和XML映射元文件時需要使用dom4j。

CGLIB(必需):Hibernate在運行時使用這個代碼生成庫強化類(與Java反射機制聯合使用)。

Commons Collections, Commons Logging(必需):Hibernat使用Apache Jakarta Commons項目提供的多個工具類庫。

ODMG4(必需):Hibernate提供了一個可選的ODMG兼容持久化管理界面。如果你需要映射集合,你就需要這個類庫,就算你不是為了使用ODMG API。

EHCache(必需):Hibernate可以使用不同的第二級Cache方案。如果沒有修改配置的話,EHCache提供默認的Cache。

Log4j(可選):Hibernate使用Commons Logging API,後者可以使用Log4j作為底層實施log的機制。如果上下文類目錄中存在Log4j庫,Commons Logging就會使用Log4j和它在上下文類路徑中找到的log4j.properties文件。在Hibernate發行包中包含有一個示例的properties文件。所以,如果你想看看幕後到底發生了什麼,也把log4j.jar拷貝到你的上下文類路徑去吧(它位於src/目錄中)。

以上是Hibernate參考手冊所列出的jar檔案,Hibernate底層還需要Java Transaction API,所以您還需要jta.jar,到這邊為止,總共需要十個jar檔案:

mysql-connector-java-3.0.14-production-bin.jar
jta.jar
hibernate2.jar
cglib-full-2.0.2.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.4.jar
ehcache-0.9.jar
log4j-1.2.8.jar
odmg-3.0.jar

原创粉丝点击