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