什么是Hibernate?Hibernate框架架構(gòu)與框架原理分析
什么是Hibernate?
直接的翻譯稱(chēng)為”冬眠”. 框架提供的功能是數(shù)據(jù)持久化操作.
Hibernate是一個(gè)輕量級(jí)的, 以O(shè)RM設(shè)計(jì)思想構(gòu)建的, 持久化框架. 此框架無(wú)侵入性. 極大的提高了開(kāi)發(fā)效率. 框架提供了緩存機(jī)制和強(qiáng)大的查詢(xún)能力. 支持多種數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn). 并在一定程度上實(shí)現(xiàn)0SQL開(kāi)發(fā). 可以快速實(shí)現(xiàn)數(shù)據(jù)庫(kù)移植.
Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,它將POJO與數(shù)據(jù)庫(kù)表建立映射關(guān)系,是一個(gè)全自動(dòng)的orm框架,hibernate可以自動(dòng)生成SQL語(yǔ)句,自動(dòng)執(zhí)行,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶(hù)端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。
特點(diǎn):
將對(duì)數(shù)據(jù)庫(kù)的操作轉(zhuǎn)換為對(duì)Java對(duì)象的操作,從而簡(jiǎn)化開(kāi)發(fā)。通過(guò)修改一個(gè)“持久化”對(duì)象的屬性從而修改數(shù)據(jù)庫(kù)表中對(duì)應(yīng)的記錄數(shù)據(jù)。
提供線(xiàn)程和進(jìn)程兩個(gè)級(jí)別的緩存提升應(yīng)用程序性能。
有豐富的映射方式將Java對(duì)象之間的關(guān)系轉(zhuǎn)換為數(shù)據(jù)庫(kù)表之間的關(guān)系。
屏蔽不同數(shù)據(jù)庫(kù)實(shí)現(xiàn)之間的差異。在Hibernate中只需要通過(guò)“方言”的形式指定當(dāng)前使用的數(shù)據(jù)庫(kù),就可以根據(jù)底層數(shù)據(jù)庫(kù)的實(shí)際情況生成適合的SQL語(yǔ)句。
非侵入式:Hibernate不要求持久化類(lèi)實(shí)現(xiàn)任何接口或繼承任何類(lèi),POJO即可。
什么是持久化?
在狹義概念上, 是指將臨時(shí)數(shù)據(jù)進(jìn)行物理存儲(chǔ).
在廣義概念上, 是指對(duì)數(shù)據(jù)進(jìn)行訪(fǎng)問(wèn)操作,即CRUD操作.
框架架構(gòu)
框架原理
Hibernate映射的規(guī)則