新聞中心
Hibernate有很多值得學(xué)習(xí)的地方,這里我們主要介紹orm框架,包括介紹Spring+Hibernate+范型+可變參數(shù)等方面。

Hibernate在解決性能問(wèn)題方面做得非常好。有了它的緩存機(jī)制,使用第三方緩存和數(shù)據(jù)庫(kù)連接池,就較好的解決的性能問(wèn)題。但這些還不夠,Hibernate給了開(kāi)發(fā)者足夠的自由,讓開(kāi)發(fā)者自己去控制性能問(wèn)題。
學(xué)習(xí)了一段時(shí)間的ibatis,我覺(jué)得Hibernate有著ibatis無(wú)法替代的優(yōu)勢(shì)。
1.Hibernate不僅僅作為持久層的orm框架存在,它除了dao層的持久化操作外,還有很多。
在注解annotation已經(jīng)走向主流的今天,Hibernate 迅速響應(yīng),讓xml部署描述符成為可選的。Hibernate annotation 對(duì)大字段的處理只是一個(gè)@Lob就搞定了。
Hibernate search對(duì)Lucene進(jìn)行了輕量級(jí)的封裝,全文檢索變得非常簡(jiǎn)單。
Hibernate validator被認(rèn)為是最合理的驗(yàn)證方式,將驗(yàn)證策略直接附在貫穿各層的領(lǐng)域模型domain上,不再需要哪些web框架的xml方式的驗(yàn)證,代碼中不再出現(xiàn)大量的非空/null的判斷。
2.jbpm, Jbpm業(yè)務(wù)流程引擎的持久層采用Hibernate來(lái)實(shí)現(xiàn),要想使用jbpm,Hibernate是必須的。我想,業(yè)務(wù)流程管理無(wú)比重要,在soa迅速發(fā)展的今天,如果實(shí)施soa項(xiàng)目,業(yè)務(wù)流程管理是必然和必須的。因?yàn)閟oa就是業(yè)務(wù)和it技術(shù)的融合,是業(yè)務(wù)流程管理和it基礎(chǔ)架構(gòu)的融合。在soa中,業(yè)務(wù)管理是***位的,這需要相應(yīng)的技術(shù)來(lái)實(shí)現(xiàn)該業(yè)務(wù)流程管理。開(kāi)源領(lǐng)域的jbpm我想會(huì)是***。所以,為了將來(lái)有可能實(shí)施soa項(xiàng)目,為了實(shí)現(xiàn)soa的業(yè)務(wù)流程管理,應(yīng)該使用Hibernate.
3.大家都知道,Hibernate將ejb2時(shí)代的實(shí)體bean趕進(jìn)了歷史,而ejb3的jpa標(biāo)準(zhǔn)也只不過(guò)是Hibernate的子集而已。jsr規(guī)范請(qǐng)求的威力是巨大的,沒(méi)有各種jsr規(guī)范請(qǐng)求,就不會(huì)有各種應(yīng)用程序框架,各種應(yīng)用程序框架只是那些jsr規(guī)范請(qǐng)求的實(shí)現(xiàn)者。jpa 作為持久層的規(guī)范標(biāo)準(zhǔn),引導(dǎo)持久層orm框架的方向,jpa同樣以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫(kù),而不是寫(xiě)sql語(yǔ)句。規(guī)范標(biāo)準(zhǔn)都完全orm,不寫(xiě)sql了,你還有理由不跟著它嗎?
4.Spring+Hibernate+范型+可變參數(shù),這是一個(gè)非常強(qiáng)大的組合,對(duì)應(yīng)普通的crud操作,你不再需要重復(fù)寫(xiě)那些煩人的相似的dao層和manager層的代碼,僅僅需要寫(xiě)一次,就完成了所有大量的crud操作。Ibatis盡管也支持范型,但始終沒(méi)有Hibernate支持的好
本文標(biāo)題:淺析Hibernateorm框架
標(biāo)題來(lái)源:http://www.dlmjj.cn/article/dpihjdo.html


咨詢(xún)
建站咨詢(xún)
