成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate3的工作原理

開發 后端
本文講述了Hibernate3的工作原理,分為三個部分進行講述:Hibernate3 的初始化、Hibernate3 的緩存體系以及Hibernate3 中Java對象的狀態。

一、Hibernate3 的初始化

讀取Hibernate 的配置信息-〉創建Session Factory

1、創建Configeration類的實例。

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

2、創建SessionFactory實例

把Configeration 對象中的所有配置信息拷貝到SessionFactory的緩存中。 SessionFactory的實例代表一個數據庫存儲員源,創建后不再與Configeration 對象關聯。緩存(cache):指Java對象的屬性(通常是一些集合類型的屬性--占用內存空間。 SessionFactory的緩存中:Hibernate 配置信息。OR映射元數據。 緩存-大:重量級對象 小:輕量級對象

3、調用SessionFactory創建Session的方法

(1)用戶自行提供JDBC連接。
 
   Connection con=dataSource.getConnection();
   Session s=sessionFactory.openSession(con);

(2)讓SessionFactory提供連接

   Session s=sessionFactory.openSession();

4、通過Session 接口提供的各種方法來操縱數據庫訪問。
 
二、Hibernate3 的緩存體系:
 
一級緩存:
Session 有一個內置的緩存,其中存放了被當前工作單元加載的對象。每個Session 都有自己獨立的緩存,且只能被當前工作單元訪問。
 
二級緩存:
SessionFactory的外置的可插拔的緩存插件。其中的數據可被多個Session共享訪問。SessionFactory的內置緩存:存放了映射元數據,預定義的Sql語句。

三、Hibernate3 中Java對象的狀態

1、臨時狀態 (transient)

特征:
 
(1)不處于Session 緩存中

(2)數據庫中沒有對象記錄

Java如何進入臨時狀態:

(1)通過new語句剛創建一個對象時

(2)當調用Session 的delete()方法,從Session 緩存中刪除一個對象時。

2、持久化狀態(persisted)

特征:
 
(1)處于Session 緩存中

(2)持久化對象數據庫中設有對象記錄

(3)Session 在特定時刻會保持二者同步

Java如何進入持久化狀態:
 
(1)Session 的save()把臨時-》持久化狀態

(2)Session 的load(),get()方法返回的對象

(3)Session 的find()返回的list集合中存放的對象

(4)Session 的update(),saveOrupdate()使游離-》持久化

3、游離狀態(detached)

特征:

(1)不再位于Session 緩存中

(2)游離對象由持久化狀態轉變而來,數據庫中可能還有對應記錄。

Java如何進入持久化狀態-》游離狀態

(1)Session 的close()方法

(2)Session 的evict()方法,從緩存中刪除一個對象。提高性能。少用。
 
研究了兩天的 Hibernate,看了很多資料,也拜讀了其關鍵類,感覺自己有很多地方需要學習。比如說Hibernate的緩存機制是怎么實現的,Hibernate在封裝JDBC和JTA時都做了些什么,其ORM是怎么實現的等等。要弄清這些東西估計需要很長時間的摸索和積累,也只有在實際應用中不斷加深對它們的理解了:)下面,我將最近兩天的收獲總結一下,主要敘述一下Hibernate的基本工作原理。對于Hibernate的緩存機制、基于JDBC和JTA的事務處理及其ORM的實現等技術,以后慢慢再補吧。

所謂Hibernate的基本工作原理,換言之,也就是Hibernate大體的工作流程。在這里,我們仿照前面對Struts基本原理的闡述方法,僅將其原理圖呈現給大家,詳細文字說明在此略過(個人認為這張圖對Hibernate基本工作過程的敘述已經足夠全面了,所以沒必要再用文字說明,如果還是不明白,請您給我留言或者查看相關資料)。

 

【編輯推薦】

  1. 初學者適用的Hibernate學習方法
  2. Hibernate實戰(第2版)讀書筆記
  3. Hibernate一對多關系的處理
  4. 十五道Hibernate面試題及答案
  5. Hibernate的性能優化
責任編輯:仲衡 來源: JavaEye技術博客
相關推薦

2009-09-24 10:22:38

Hibernate3新

2009-09-25 11:04:32

Hibernate3實

2009-09-24 12:05:35

2009-09-27 11:27:33

Hibernate3JBOSS 3.2

2009-06-17 09:34:31

Hibernate3Hibernate2連接池

2009-09-23 15:37:52

Hibernate 原

2009-06-15 14:14:00

netbeans5.5開發hibernate

2009-06-03 09:11:03

Hibernate工作原理體系結構

2009-06-03 09:16:03

Hibernate工作原理使用

2009-06-12 16:00:13

Session方法Hibernate

2009-06-30 16:52:30

DetchedCrit

2009-09-23 15:12:41

Hibernate視圖

2009-09-28 13:39:01

Hibernate工作

2009-09-28 09:40:28

Hibernate集合延遲加載

2009-09-24 10:13:05

Hibernate版本

2009-06-11 14:40:59

Hibernate分頁Hibernate查詢

2009-09-25 10:47:25

Hibernate延遲

2019-08-20 14:01:22

HTTPSSSL協議

2010-08-02 16:14:54

2009-07-06 12:32:26

JSP引擎
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人h版在线观看 | 日本免费一区二区三区四区 | av手机免费在线观看 | 四虎永久影院 | 中文字幕国产 | 国产精品久久久久久婷婷天堂 | 日韩视频 中文字幕 | 日韩精品四区 | 亚洲福利 | av中文字幕网| 99久久精品免费看国产免费软件 | 亚洲精品国产电影 | 黄色中文字幕 | 色婷婷综合在线观看 | 国产欧美日韩精品一区二区三区 | 国产人免费人成免费视频 | 亚洲视频在线播放 | 黄色毛片免费视频 | 国产高清精品一区 | 96久久久久久 | 国产欧美一区二区三区久久手机版 | 91久久久精品国产一区二区蜜臀 | 精品国产欧美一区二区 | 男女精品久久 | 福利视频一区二区三区 | 玩丰满女领导对白露脸hd | 久久成人人人人精品欧 | 国产精品毛片一区二区在线看 | 国产日产欧产精品精品推荐蛮挑 | 三级av在线 | 亚洲国产精品一区二区第一页 | 精品国产欧美日韩不卡在线观看 | 国产精品国产三级国产aⅴ无密码 | 自拍偷拍欧美 | 亚洲国产高清在线 | 黄色精品 | 国产日韩精品在线 | 香蕉视频一区二区 | 成人一区二区三区在线观看 | 成年女人免费v片 | 国产一区二区 |