Hibernate與ibatis的區(qū)別概括
在向大家詳細(xì)介紹Hibernate與ibatis的區(qū)別之前,首先讓大家了解下Hibernate有著ibatis無(wú)法替代的優(yōu)勢(shì),然后全面介紹Hibernate與ibatis的區(qū)別。
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.Jboss,Hibernate是jboss的項(xiàng)目,jboss的所有項(xiàng)目的持久層都采用的Hibernate,要知道,jsr規(guī)范組的專家們大多數(shù)是來(lái)自jboss的,在一定程度上說(shuō),jboo引領(lǐng)著java的發(fā)展方向。使用Hibernate,跟著jboss,不偏離java的發(fā)展方向。
2.Gavin King,我最崇拜的偶像,他不僅發(fā)明了強(qiáng)大的Hibernate,還搞出了同樣強(qiáng)大且優(yōu)雅的web2.0應(yīng)用程序框架seam.他是ejb3.0專家組成員之一,是jpa規(guī)范請(qǐng)求的領(lǐng)導(dǎo)者,他java領(lǐng)域最有發(fā)言權(quán)、最權(quán)威的領(lǐng)袖人物之一?,F(xiàn)在,他領(lǐng)導(dǎo)web bean的,jsr299的發(fā)展,web bean規(guī)范的制定,全球軟件巨頭如ibm、oracle、bea和apache沒(méi)有一個(gè)反對(duì),紛紛響應(yīng)。Web bean,想象起來(lái),實(shí)在太美好了,完全的松耦合和強(qiáng)類型,所有的應(yīng)用組件生活在一個(gè)應(yīng)用組件上下文context中,相互合作。那時(shí)將不再有各種各樣的上下文環(huán)境,不再有struts2的ActionContext,不再有spring的ApplicationContext,不再有Hibernate的session,不再有持久化上下文,不再有事務(wù)上下文,不再有安全上下文,所有組件生活在一個(gè)大家庭中,大家其樂(lè)融融,實(shí)現(xiàn)天下的大和平。
3.osgi,我認(rèn)為現(xiàn)在最值得學(xué)習(xí)的一個(gè)技術(shù),有了osgi,實(shí)現(xiàn)真正的多模塊開(kāi)發(fā),改變傳統(tǒng)的開(kāi)發(fā)方式?,F(xiàn)在,已經(jīng)有了Hibernate osgi,spring dynamic modul(osgi),struts 2 同樣實(shí)現(xiàn)了對(duì)osgi的支持。目前,eclipse是基于osgi開(kāi)發(fā)的,ibm的websphere v6.1,bea的所有產(chǎn)品都重構(gòu)在osgi上,spring的應(yīng)用服務(wù)器同樣基于osgi,在EclipseCon2007上,osgi成為了主要的話題。Osgi受到如此的待遇,一點(diǎn)不奇怪,因?yàn)樗哂袩o(wú)比強(qiáng)大的功能,改變傳統(tǒng)的軟件開(kāi)發(fā)方式。Osgi采用樹(shù)設(shè)計(jì)模式,將一個(gè)項(xiàng)目分成多個(gè)模塊(bundle),每個(gè)模塊單獨(dú)部署,單獨(dú)運(yùn)行,說(shuō)白了,就是將一個(gè)工程分成許多的插件,每個(gè)插件單獨(dú)開(kāi)發(fā),重復(fù)使用,實(shí)現(xiàn)完全的即插即用。太令人激動(dòng)了。如果公司的軟件開(kāi)發(fā)基于osgi,將會(huì)有大量的重復(fù)使用的osgi bundles,公司將會(huì)積累大量的無(wú)形資產(chǎn),軟件開(kāi)發(fā)將會(huì)越來(lái)越快。而ibatis現(xiàn)在還沒(méi)見(jiàn)到對(duì)osgi的支持。
4.Hibernate的社區(qū)非常繁榮,ibatis則相對(duì)平靜。
綜述,Hibernate還有很多優(yōu)秀的特點(diǎn),只是我們不知道。Hibernate與ibatis,就像大家閨秀對(duì)小家碧玉,大家閨秀不僅具有小家碧玉的全部,而且知名度更高,更受尊敬,更受人追捧,更有發(fā)展前途。小家碧玉盡管也很有魅力,但始終比上大家閨秀。
Hibernate所做的不僅僅是dao層的持久化工作,而ibatis恰恰如此。
選擇Hibernate,選擇orm的王者,選擇更全面的工作體驗(yàn),選擇更高效的工作方式,選擇更多的利潤(rùn);選擇Gavin King,跟著領(lǐng)袖走;選擇jboss,追隨開(kāi)源的潮流,不偏離java的發(fā)展方向。
一切都不是借口。一切都在發(fā)展,Hibernate會(huì)越來(lái)越好。
【編輯推薦】