這篇文章將為大家詳細講解有關怎樣分析Hibernate的工作原理和體系結構,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

10余年專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站建設,個人網(wǎng)站制作服務,為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設計流程、步驟,成功服務上千家企業(yè)。為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及定制高端網(wǎng)站建設服務,專注于成都企業(yè)網(wǎng)站建設,高端網(wǎng)頁制作,對廣告推廣等多個方面,擁有多年的營銷推廣經(jīng)驗。
1.Hibernate 的初始化.
讀取Hibernate 的配置信息-〉創(chuàng)建Session Factory
1)創(chuàng)建Configeration類的實例。
它的構造方法:將配置信息(Hibernate config.xml)讀入到內(nèi)存。
一個Configeration 實例代表Hibernate 所有Java類到Sql數(shù)據(jù)庫映射的集合。
2)創(chuàng)建SessionFactory實例
把Configeration 對象中的所有配置信息拷貝到SessionFactory的緩存中。
SessionFactory的實例代表一個數(shù)據(jù)庫存儲員源,創(chuàng)建后不再與Configeration 對象關聯(lián)。
緩存(cache):指Java對象的屬性(通常是一些集合類型的屬性--占用內(nèi)存空間。
SessionFactory的緩存中:Hibernate 配置信息。OR映射元數(shù)據(jù)。
緩存-大:重量級對象 小:輕量級對象
3)調(diào)用SessionFactory創(chuàng)建Session的方法
1】用戶自行提供JDBC連接。
Connection con=dataSource.getConnection();
Session s=sessionFactory.openSession(con);
2】讓SessionFactory提供連接
Session s=sessionFactory.openSession();
4)通過Session 接口提供的各種方法來操縱數(shù)據(jù)庫訪問。
Hibernate 的緩存體系
一級緩存:
Session 有一個內(nèi)置的緩存,其中存放了被當前工作單元加載的對象。
每個Session 都有自己獨立的緩存,且只能被當前工作單元訪問。
二級緩存:
SessionFactory的外置的可插拔的緩存插件。其中的數(shù)據(jù)可被多個Session共享訪問。
SessionFactory的內(nèi)置緩存:存放了映射元數(shù)據(jù),預定義的Sql語句。
Hibernate 中Java對象的狀態(tài)
1.臨時狀態(tài) (transient)
特征:
1】不處于Session 緩存中
2】數(shù)據(jù)庫中沒有對象記錄
Java如何進入臨時狀態(tài)
1】通過new語句剛創(chuàng)建一個對象時
2】當調(diào)用Session 的delete()方法,從Session 緩存中刪除一個對象時。
2.持久化狀態(tài)(persisted)
特征:
1】處于Session 緩存中
2】持久化對象數(shù)據(jù)庫中設有對象記錄
3】Session 在特定時刻會保持二者同步
Java如何進入持久化狀態(tài)
1】Session 的save()把臨時-》持久化狀態(tài)
2】Session 的load(),get()方法返回的對象
3】Session 的find()返回的list集合中存放的對象
4】Session 的update(),saveOrupdate()使游離-》持久化
3.游離狀態(tài)(detached)
特征:
1】不再位于Session 緩存中
2】游離對象由持久化狀態(tài)轉(zhuǎn)變而來,數(shù)據(jù)庫中可能還有對應記錄。
Java如何進入持久化狀態(tài)-》游離狀態(tài)
1】Session 的close()方法
2】Session 的evict()方法,從緩存中刪除一個對象。提高性能。少用。
關于怎樣分析Hibernate的工作原理和體系結構就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
新聞標題:怎樣分析Hibernate的工作原理和體系結構
標題網(wǎng)址:http://www.chinadenli.net/article30/gpoppo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、Google、商城網(wǎng)站、自適應網(wǎng)站、小程序開發(fā)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)