Java Web編程的主要組件技術——Hibernate入門

來源:互聯網
上載者:User

標籤:

參考書籍:《J2EE開源編程精要15講》

 

Hibernate是對象/關係映射(ORM,Object/Relational Mapping)的解決方案,就是將Java對象與對象關係映射到關係型資料庫中的表格與表格之間的關係。它是Java應用與關聯式資料庫之間的橋樑,負責Java對象和關係資料之間的映射。Hibernate內部封裝了通過JDBC訪問資料庫的操作,向上層應用提供了物件導向的資料庫訪問API。

 

Hibernate的體繫結構

  Hibernate通過設定檔( hibernate.properties 或 hibernate.cfg.xml )和對應檔( .hbm.xml )把Java對象或持久化對象( Persistent Object,PO )映射到資料庫的表格,然後通過操作PO,對資料表中的資料進行增、刪、改、查等操作。

 

Hibernate的核心組件

  • Configuration類:用來讀取Hibernate設定檔,並產生SessionFactory對象。
  • SessionFactory介面:產生Session執行個體的工廠
  • Session介面:用來操作PO。有get()、load()、save()、update()、delete()等方法用來對PO進行載入、儲存、更新及刪除等操作,是Hibernate的核心介面
  • Query介面:用來對PO進行查詢操作。可從Session的createQuery()方法產生
  • Transaction介面:用來管理Hibernate事務,主要方法有commit()和rollback(),可從Session的beginTransaction()方法產生
  • Hibernate設定檔主要用來設定資料庫連結參數,如資料庫驅動程式、URL、使用者名稱、密碼等。有兩種格式:hibernate.properties 和 hibernate.cfg.xml,hibernate.cfg.xml可以在其<mapping>子項目中定義用到的xxx.hbm.xml對應檔列表,而hibernamte.properties需要在程式中以硬代碼方式指明。一般hibernate.cfg.xml是Hibernate的預設設定檔
  • 對應檔(xxx.hbm.xml)用來把PO與資料庫中的資料表、PO之間的關係與資料庫之間的關係、以及PO的屬性與表欄位一一映射起來,是Hibernate的核心檔案
  • 持久化對象(PO)可以是普通的JavaBean/POJO,唯一特殊的是他們正與(僅僅一個)Session相關聯。JavaBean在Hibernate中存在三種狀態:臨時狀態(transient)、持久化狀態(persistent)和託管狀態(detached)。當JavaBean對象在記憶體中孤立存在、不與資料庫中的資料有任何關聯關係時,為臨時對象;當它與一個Session相關聯時,為持久化對象;在這個Session被關閉的同時,這個對象變成脫管對象。

 

Hibernate的運行過程

  1) 應用程式調用Configuration類,該類讀取Hibernate設定檔級對應檔中的資訊,並產生一個SessionFactory

  2) 從SessionFactory對象產生一個Session對象,並用Session對象產生Transaction對象

  3) 通過Session對象的get()、load()、save()、update()、delete()、saveOrUpdate()等方法對PO進行載入、儲存、更新、刪除等操作;通過Session對象產生一個Query對象,進行查詢操作

  4) 如無異常,Transaction對象將提交這些操作結果到資料庫中

 

 

應用樣本 簡單使用者登記:http://pan.baidu.com/s/1dDGSzQh

相關資料:http://yusun.blog.163.com/blog/static/20174407620120432015398/

Java Web編程的主要組件技術——Hibernate入門

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.