本文主要是從一個(gè)宏觀的角度來(lái)認(rèn)識(shí) Hibernate, 對(duì)為什么用 Hibernate 進(jìn)行一些說(shuō)明 , 通過(guò)指導(dǎo)并了解 Hibernate 的特性及其優(yōu)缺點(diǎn)可以讓我們?cè)谝院蟮捻?xiàng)目中根據(jù)具體的情況進(jìn)行選擇 .
Hibernate, 英文單詞的意思是冬眠 . 冬眠這個(gè)詞估計(jì)跟持久化有很大的關(guān)系 . Hibernate 是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì) JDBC 進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得我們可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate 可以應(yīng)用在任何使用 JDBC 的場(chǎng)合,既可以在 Java 的客戶端程序?qū)嵱茫部梢栽? Servlet/JSP 的 Web 應(yīng)用中使用,能夠完成數(shù)據(jù)持久化的重任。
Hibernate 架構(gòu)圖
為什么會(huì)出現(xiàn) Hibernate?
因?yàn)槲覀冊(cè)谟肑DBC對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的時(shí)候會(huì)產(chǎn)生很多冗余,重復(fù)的內(nèi)容。而使用hibernate可以運(yùn)用面向?qū)ο蟮乃季S來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作 , 并且它是輕量級(jí)的框架,不需要服務(wù)器,測(cè)試比較方便、簡(jiǎn)單。
既然我們選擇Hibernate,那么它本身定有優(yōu)秀的地方吸引著我們,Hibernate都有哪些優(yōu)點(diǎn)呢?
使用 Hibernate 的優(yōu)點(diǎn) ?
- 可以根據(jù)對(duì)象生成數(shù)據(jù)庫(kù) . 在一定程度屏蔽數(shù)據(jù)庫(kù) , 按照面向?qū)ο蟮乃枷腴_(kāi)發(fā) .(OOA,OOD,OOP)
- 提高生產(chǎn)率 , 簡(jiǎn)化代碼的編寫(xiě) . 跟數(shù)據(jù)庫(kù)打交道的代碼一般會(huì)是 java 中乏味的代碼 , 取而代之的是簡(jiǎn)潔的 HQL.Hibernate 可以讓那些重復(fù)乏味的代碼減少 , 讓你集中更多的精力到業(yè)務(wù)上 .
- 按照面向?qū)ο蟮乃枷腴_(kāi)發(fā) , 可以使我們采用對(duì)象化的思維操作關(guān)系型數(shù)據(jù)庫(kù) . 使開(kāi)發(fā)更加對(duì)象化 .
- 具有良好的可移植性 , 可擴(kuò)展性 .
- 沒(méi)有侵入性 , 即輕量級(jí)框架 ( 類沒(méi)有實(shí)現(xiàn)任何東西 , 這個(gè)類的對(duì)象就可以持久化 . 支持透明持久化 )
- Hibernate 是開(kāi)源項(xiàng)目 .
Hibernate 給我們提供了一個(gè)更優(yōu)的選擇 , 但是它并不是萬(wàn)能 , 凡事有利有弊 , 它自身也有著自己的不足之處 . 主要的不足有以下三點(diǎn) .
- 封裝徹底 , 使用數(shù)據(jù)庫(kù)的特性語(yǔ)句很難調(diào)優(yōu) , 不方便 .
- 大批量數(shù)據(jù)更新有問(wèn)題 ( 因?yàn)榫彺鎲?wèn)題 .)
- 如果項(xiàng)目中大部分比例都是統(tǒng)計(jì)查詢則不適合使用 hibernate . 更適合用 JDBC. 這同時(shí)也是 OR 框架的弱點(diǎn) .
以上是從一個(gè)宏觀的角度對(duì) Hibernate 進(jìn)行認(rèn)識(shí)和了解 .通過(guò) 了解其特點(diǎn) , 以及為什么用它可以幫助隨后對(duì) Hibernate 的具體內(nèi)容的學(xué)習(xí)和掌握 .
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
