日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解Hibernate的工作原理和體系結(jié)構(gòu)

1.Hibernate 的初始化.

我們擁有10余年網(wǎng)頁設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信開發(fā)、微信小程序、手機(jī)網(wǎng)站制作設(shè)計(jì)、H5開發(fā)、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。

讀取Hibernate 的配置信息-〉創(chuàng)建Session Factory

1)創(chuàng)建Configeration類的實(shí)例。

它的構(gòu)造方法:將配置信息(Hibernate config.xml)讀入到內(nèi)存。
一個Configeration 實(shí)例代表Hibernate 所有Java類到Sql數(shù)據(jù)庫映射的集合。

2)創(chuàng)建SessionFactory實(shí)例

把Configeration 對象中的所有配置信息拷貝到SessionFactory的緩存中。
SessionFactory的實(shí)例代表一個數(shù)據(jù)庫存儲員源,創(chuàng)建后不再與Configeration 對象關(guān)聯(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)置的緩存,其中存放了被當(dāng)前工作單元加載的對象。
每個Session 都有自己獨(dú)立的緩存,且只能被當(dāng)前工作單元訪問。

二級緩存:

SessionFactory的外置的可插拔的緩存插件。其中的數(shù)據(jù)可被多個Session共享訪問。

SessionFactory的內(nèi)置緩存:存放了映射元數(shù)據(jù),預(yù)定義的Sql語句。 

Hibernate 中Java對象的狀態(tài)

1.臨時狀態(tài) (transient)

特征:

1】不處于Session 緩存中
2】數(shù)據(jù)庫中沒有對象記錄

Java如何進(jìn)入臨時狀態(tài)

 1】通過new語句剛創(chuàng)建一個對象時
2】當(dāng)調(diào)用Session 的delete()方法,從Session 緩存中刪除一個對象時。 

2.持久化狀態(tài)(persisted)

特征:

1】處于Session 緩存中
2】持久化對象數(shù)據(jù)庫中設(shè)有對象記錄
3】Session 在特定時刻會保持二者同步

 Java如何進(jìn)入持久化狀態(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ù)庫中可能還有對應(yīng)記錄。

Java如何進(jìn)入持久化狀態(tài)-》游離狀態(tài)

1】Session 的close()方法
2】Session 的evict()方法,從緩存中刪除一個對象。提高性能。少用。

您正在閱讀:詳解Hibernate的工作原理和體系結(jié)構(gòu)

【編輯推薦】

  1. Hibernate框架如何實(shí)現(xiàn)ORM
  2. 關(guān)于hibernate框架的簡介
  3. 十五道關(guān)于Hibernate的面試題

名稱欄目:詳解Hibernate的工作原理和體系結(jié)構(gòu)
標(biāo)題鏈接:http://www.5511xx.com/article/djjoihs.html