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