1. 程式人生 > >Hibernate的發展和特點以及Hibernate的工作原理簡介

Hibernate的發展和特點以及Hibernate的工作原理簡介

1.Hibernate的發展和特點:

(1).Hibernate介紹:Hibernate是封裝了JDBC的一種開放原始碼的物件/關係對映(ORM Object-Relatiion Mapping)框架,使程式設計師可以使用面向物件的思想來操作資料庫。Hibernate是一種物件/關係對映的解決方案,即將Java物件與物件之間的關係對映到資料庫中表與表之間的關係。

(2).Hibernate的發展歷史:

2001年,Hibernate1釋出,即Hibernate的第一個版本。

2003年,Hibernate2釋出,並在當年獲得Jolt2004大獎(Jolt大獎素有“軟體業界的奧斯卡”之美譽,共設通用類圖書、技術類圖書、語言和開發環境、框架庫和元件、開發者網站等十餘個分類大獎),2003年Hibernate被JBoss公司收購,成為該公司的子專案之一。

2005 年,JBoss釋出Hibernate3;2006年,JBoss公司被Redhat公司收購。

2011年9月釋出Hibernate4。

(3).Hibernate的功能:Hibernate提供了透明持久化功能,支援第三方框架,即能與其他框架進行整合,如Struts2、Spring3等,不但提供面向物件的HQL 而且支援傳統的SQL語句。

(4).Hibernate可以作為應用的資料訪問層或持久層。它具有以下特點:

Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC 進行了非常輕量級的物件封裝,使得Java 程式設計師可以隨心所欲地使用面向物件程式設計思維來操縱資料庫。

Hibernate的目標是成為Java中管理資料永續性問題的一種完整解決方案。它協調應用程式與關係型資料庫的互動,讓開發者解放出來專注於專案的業務邏輯問題。

Hibernate是一種非強迫性的解決方案。

2.Hibernate的工作原理,首先,附上一張圖:

工作原理敘述如下:

(1).首先,Configuration讀取Hibernate的配置檔案和對映檔案中的資訊,即載入配置檔案和對映檔案,並通過Hibernate配置檔案生成一個多執行緒的SessionFactory物件;

(2).然後,多執行緒SessionFactory物件生成一個執行緒Session 物件;Session物件生成Query物件或者Transaction物件;可通過Session物件的get(),load(),save(),update(),delete()和saveOrUpdate( )等方法對PO進行載入、儲存、更新、刪除等操作;

(3).在查詢的情況下,可通過Session 物件生成一個Query物件,然後利用Query物件執行查詢操作;如果沒有異常,Transaction物件將提交這些操作結果到資料庫中。

3.以上內容僅供大家學習參考,謝謝!