hibernate工作原理

1.通過Configuration config = new Configuration().configure();
//讀取并解析hibernate.cfg.xml配置文件
2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>
讀取并解析映射信息
3.通過SessionFactory sf = config.buildSessionFactory();
//創(chuàng)建SessionFactory
4.Session session = sf.openSession();
//打開Sesssion
5.Transaction tx = session.beginTransaction();
//創(chuàng)建并啟動(dòng)事務(wù)Transation
6.persistent operate操作數(shù)據(jù),持久化操作

7.tx.commit();//提交事務(wù)
8.關(guān)閉Session
9.關(guān)閉SesstionFactory
Configuration 類負(fù)責(zé)管理 Hibernate 的配置信息龄寞。
? Hibernate運(yùn)行的底層信息:數(shù)據(jù)庫的URL胞此、用戶名侣颂、密碼婚苹、JDBC驅(qū)動(dòng)類中符,數(shù)據(jù)庫 Dialect,
 數(shù)據(jù)庫連接池等(對(duì)應(yīng) hibernate.cfg.xml 文件)配阵。
?持久化類與數(shù)據(jù)表的映射關(guān)系(*.hbm.xml 文件)
創(chuàng)建 Configuration 的兩種方式
?    屬性文件(hibernate.properties):
    Configuration cfg = new Configuration();
?    Xml文件(hibernate.cfg.xml)
    Configuration cfg = new Configuration().configure();

第二種創(chuàng)建方式較為常見冗澈。Hibernate.cfg.xml文件默認(rèn)的目錄為系統(tǒng)的根目錄钦勘。
Configuration對(duì)象根據(jù)當(dāng)前的配置信息生成 SessionFactory 對(duì)象。
SessionFactory 對(duì)象一旦構(gòu)造完畢亚亲,即被賦予特定的配置信息(SessionFactory 對(duì)象中保存了
當(dāng)前的數(shù)據(jù)庫配置信息和所有映射關(guān)系以及預(yù)定義的SQL語句个盆。同時(shí)脖岛,

SessionFactory還負(fù)責(zé)維護(hù)Hibernate的二級(jí)緩存)。
   Configuration cfg = new Configuration().configure();
   SessionFactory sf = cfg.buildSessionFactory();

l  是線程安全的颊亮。
l  SessionFactory是生成Session的工廠:
    Session session = sf.openSession();
l  構(gòu)造SessionFactory很消耗資源,一般情況下一個(gè)應(yīng)用中只初始化一個(gè)SessionFactory對(duì)象柴梆。
l  在Hibernate中,Transaction tx = session.beginTransaction()相當(dāng)于給數(shù)據(jù)庫操作起
事務(wù)终惑。Session.commit()則為提交事務(wù)绍在。
Hibernate的整個(gè)運(yùn)行過程如下:
1、應(yīng)用程序先調(diào)用Configuration類,該類讀取Hibernate配置文件及映射文件中的信息雹有,
2偿渡、并用這些信息生成一個(gè)SessionFactory對(duì)象,
3霸奕、然后從SessionFactory對(duì)象生成一個(gè)Session對(duì)象溜宽,
4、并用Session對(duì)象生成Transaction對(duì)象质帅;

A适揉、可通過Session對(duì)象的get(),load(),save(),update(),delete()和saveOrUpdate()等方法
對(duì)PO進(jìn)行加載、保存煤惩、更新嫉嘀、刪除、等操作魄揉;
B剪侮、在查詢的情況下,可通過Session對(duì)象生成一個(gè)Query對(duì)象洛退,然后利用Query對(duì)象執(zhí)行查詢操作瓣俯;
如果沒有異常,Transaction對(duì)象將提交這些操作到數(shù)據(jù)庫中兵怯。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末降铸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子摇零,更是在濱河造成了極大的恐慌,老刑警劉巖桶蝎,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驻仅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡登渣,警方通過查閱死者的電腦和手機(jī)噪服,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胜茧,“玉大人粘优,你說我怎么就攤上這事仇味。” “怎么了雹顺?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵丹墨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我嬉愧,道長(zhǎng)贩挣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任没酣,我火速辦了婚禮王财,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘裕便。我一直安慰自己绒净,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布偿衰。 她就那樣靜靜地躺著挂疆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哎垦。 梳的紋絲不亂的頭發(fā)上囱嫩,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音漏设,去河邊找鬼墨闲。 笑死,一個(gè)胖子當(dāng)著我的面吹牛郑口,可吹牛的內(nèi)容都是我干的鸳碧。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼犬性,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼瞻离!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起乒裆,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤套利,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后鹤耍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肉迫,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年稿黄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了喊衫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡杆怕,死狀恐怖族购,靈堂內(nèi)的尸體忽然破棺而出壳贪,到底是詐尸還是另有隱情,我是刑警寧澤寝杖,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布违施,位于F島的核電站,受9級(jí)特大地震影響朝墩,放射性物質(zhì)發(fā)生泄漏醉拓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一收苏、第九天 我趴在偏房一處隱蔽的房頂上張望亿卤。 院中可真熱鬧,春花似錦鹿霸、人聲如沸排吴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钻哩。三九已至,卻和暖如春肛冶,著一層夾襖步出監(jiān)牢的瞬間街氢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國打工睦袖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留珊肃,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓馅笙,卻偏偏與公主長(zhǎng)得像伦乔,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子董习,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • hibernate 簡(jiǎn)介:hibernate是一個(gè)開源框架烈和,它是對(duì)象關(guān)聯(lián)關(guān)系映射的框架,它對(duì)JDBC做了輕量級(jí)的封...
    小沙鷹168閱讀 1,083評(píng)論 0 4
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,773評(píng)論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理皿淋,服務(wù)發(fā)現(xiàn)招刹,斷路器,智...
    卡卡羅2017閱讀 134,633評(píng)論 18 139
  • 2016年9月17日 周六 早晨老公送我去醫(yī)院護(hù)理爸爸窝趣,好把老叔換回來休息疯暑。爸爸今天表現(xiàn)非常不好,整整抱怨一天高帖,說...
    魅力春天閱讀 128評(píng)論 0 1
  • 今天小年了。拉開了過年的序幕畦粮。 過小年散址,照常上班乖阵,依然有些忙碌。心里想著有很多事情要辦预麸,但是還要上班瞪浸。 今天有事到...
    梅洛的聽雨軒閱讀 120評(píng)論 0 1