談笑有鴻儒,往來(lái)無(wú)白丁

          在恰當(dāng)?shù)臅r(shí)間、地點(diǎn)以恰當(dāng)?shù)姆绞奖磉_(dá)給恰當(dāng)?shù)娜?..  閱讀的時(shí)候請(qǐng)注意分類(lèi),佛曰我日里面是談笑文章,其他是各個(gè)分類(lèi)的文章,積極的熱情投入到寫(xiě)博的隊(duì)伍中來(lái),支持blogjava做大做強(qiáng)!向dudu站長(zhǎng)致敬>> > 我的微博敬請(qǐng)收聽(tīng)
           

          學(xué)習(xí)了一段時(shí)間的ibatis,我覺(jué)得hibernate有著ibatis無(wú)法替代的優(yōu)勢(shì)。

          1、  開(kāi)發(fā)者都知道,hibernate讓我們以oo的方式操作數(shù)據(jù)庫(kù),這讓我們看到了hibernate的強(qiáng)大之處,體驗(yàn)到操作數(shù)據(jù)的方便。但Gavin King說(shuō),hibernate最耀眼之處是hibernate的緩存機(jī)制,而不是以oo的方式操作數(shù)據(jù)庫(kù)。Hibernate的緩存機(jī)制不外乎是一級(jí)緩存session,二級(jí)緩存sessionFactory,和第三方緩存如ehcache。也就是hibernate的最強(qiáng)大的地方是它的緩存,理解了這個(gè)才能真正的理解hibernate。緩存實(shí)在太難了,我至今未能真正理解。

          2、  可維護(hù)性:ibatis宣揚(yáng)寫(xiě)sql語(yǔ)句,它將sql語(yǔ)句放進(jìn)一個(gè)單獨(dú)的xml文件,這種方式贏得了很多開(kāi)發(fā)者的喜愛(ài),一句話,方便維護(hù)。但hibernate同樣具有這種功能,而且比ibatis更加強(qiáng)大。Hibernate的命名查詢/命名參數(shù)查詢,就是將hql語(yǔ)句放在一個(gè)單獨(dú)的xml文件之中,它仍然讓人們以面向?qū)ο蟮姆绞饺ゲ倏v數(shù)據(jù),這得到大量遵循oo方式開(kāi)發(fā)者的喜愛(ài),而不用在以oo的方式寫(xiě)著代碼的同時(shí),然后再轉(zhuǎn)變思維,用面向關(guān)系的方式去寫(xiě)那些sql語(yǔ)句。但hibernate不僅做了這些,它的native sql查詢方式,完全滿足sql語(yǔ)句的偏愛(ài)者,它像ibatis一樣,將sql語(yǔ)句放在配置文件之中。

          3、  性能:我堅(jiān)信,hibernate性能問(wèn)題不是問(wèn)題。想想那么多大中小項(xiàng)目都在使用hibernate,你還懷疑hibernate的性能嗎?spring整合hibernate之后,在真正性能瓶頸的地方,完全可以使用spring集成的jdbc,或直接寫(xiě)存儲(chǔ)過(guò)程得了。但首先得確認(rèn),這實(shí)在是性能瓶頸的地方,我想,不應(yīng)想當(dāng)然的認(rèn)為性能的問(wèn)題,所謂的性能問(wèn)題阻撓了很多人。

          我認(rèn)為,性能的好壞無(wú)外是發(fā)送sql語(yǔ)句的多少而已。性能好,發(fā)送的sql語(yǔ)句少,性能差,就是發(fā)送大量的sql語(yǔ)句。Hibernate在解決性能問(wèn)題方面做得非常好。

          有了它的緩存機(jī)制,使用第三方緩存和數(shù)據(jù)庫(kù)連接池,就較好的解決的性能問(wèn)題。

          但這些還不夠,hibernate給了開(kāi)發(fā)者足夠的自由,讓開(kāi)發(fā)者自己去控制性能問(wèn)題。

          我認(rèn)為開(kāi)發(fā)者可以在以下幾個(gè)方面自行調(diào)優(yōu):

          a、  在查詢字符串中,應(yīng)該總是使用jdbc的占位符?,或使用使用命名參數(shù):,不要自查詢中使用字符串值來(lái)代替非常量值。

          b、  Flush會(huì)影響性能,頻繁刷新影響性能,盡量減少不必要的刷新。

          c、  Cascade策略,在幾對(duì)幾的關(guān)系,正確設(shè)置cascade策略,想清楚在操作對(duì)象A的同時(shí)是否需要級(jí)聯(lián)操作對(duì)象B,比如在one to many的父子關(guān)系中,刪除了父親one,需級(jí)聯(lián)刪除子many,這時(shí)的one這端可設(shè)置cascade = “delete”,這樣在刪除one時(shí),會(huì)自動(dòng)刪除子,但對(duì)子的操作不會(huì)影響父。Cascade還有其他的屬性值,只要設(shè)置正確,可提升性能。

          d、  lazy策略,正確設(shè)置延遲加載策略同樣會(huì)提升性能,在one to manymany to many中,通常總應(yīng)該延遲加載many的一方的到內(nèi)存。設(shè)置了lazy = “true”,首先發(fā)送sql語(yǔ)句,加載自己到內(nèi)存,到需要時(shí)才加載級(jí)聯(lián)對(duì)象;lazy=”false”,則會(huì)同時(shí)加載自己和級(jí)聯(lián)對(duì)象到內(nèi)存。

          e、  另外還有集合的性能(setlistmaparray),都應(yīng)正確設(shè)置。

          f、正確使用第三方緩存,在讀操作頻繁寫(xiě)操作不多的情況,使用第三方緩存可大幅度提升性能,如ehcache的緩存策略有:read-onlyread-writenotstrict-read-write

          f、   隨著hibernate新版本的發(fā)布,和技術(shù)的發(fā)展,我相信hibernate的性能會(huì)越來(lái)越好,所有性能不是不使用hibernate的原因。

          4、  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的判斷。

          5、  jbpm Jbpm業(yè)務(wù)流程引擎的持久層采用hibenrnate來(lái)實(shí)現(xiàn),要想使用jbpmhibernate是必須的。我想,業(yè)務(wù)流程管理無(wú)比重要,在soa迅速發(fā)展的今天,如果實(shí)施soa項(xiàng)目,業(yè)務(wù)流程管理是必然和必須的。因?yàn)?/span>soa就是業(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

          6、  大家都知道,hibernateejb2時(shí)代的實(shí)體bean趕進(jìn)了歷史,而ejb3jpa標(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了,你還有理由不跟著它嗎?

          7、  Spring+hibernate+范型+可變參數(shù),這是一個(gè)非常強(qiáng)大的組合,對(duì)應(yīng)普通的crud操作,你不再需要重復(fù)寫(xiě)那些煩人的相似的dao層和manager層的代碼,僅僅需要寫(xiě)一次,就完成了所有大量的crud操作。Ibatis盡管也支持范型,但始終沒(méi)有hibernate支持的好

          8、  Jbosshibernatejboss的項(xiàng)目,jboss的所有項(xiàng)目的持久層都采用的hibernate,要知道,jsr規(guī)范組的專(zhuān)家們大多數(shù)是來(lái)自jboss的,在一定程度上說(shuō),jboo引領(lǐng)著java的發(fā)展方向。使用hibernate,跟著jboss,不偏離java的發(fā)展方向。

          9、  Gavin King,我最崇拜的偶像,他不僅發(fā)明了強(qiáng)大的hibernate,還搞出了同樣強(qiáng)大且優(yōu)雅的web2.0應(yīng)用程序框架seam。他是ejb3.0專(zhuān)家組成員之一,是jpa規(guī)范請(qǐng)求的領(lǐng)導(dǎo)者,他java領(lǐng)域最有發(fā)言權(quán)、最權(quán)威的領(lǐng)袖人物之一。現(xiàn)在,他領(lǐng)導(dǎo)web bean的,jsr299的發(fā)展,web bean規(guī)范的制定,全球軟件巨頭如ibmoraclebeaapache沒(méi)有一個(gè)反對(duì),紛紛響應(yīng)。Web bean,想象起來(lái),實(shí)在太美好了,完全的松耦合和強(qiáng)類(lèi)型,所有的應(yīng)用組件生活在一個(gè)應(yīng)用組件上下文context中,相互合作。那時(shí)將不再有各種各樣的上下文環(huán)境,不再有struts2ActionContext,不再有springApplicationContext,不再有hibernatesession,不再有持久化上下文,不再有事務(wù)上下文,不再有安全上下文,所有組件生活在一個(gè)大家庭中,大家其樂(lè)融融,實(shí)現(xiàn)天下的大和平。

          10、   osgi,我認(rèn)為現(xiàn)在最值得學(xué)習(xí)的一個(gè)技術(shù),有了osgi,實(shí)現(xiàn)真正的多模塊開(kāi)發(fā),改變傳統(tǒng)的開(kāi)發(fā)方式。現(xiàn)在,已經(jīng)有了hibernate osgispring dynamic modul(osgi),struts 2 同樣實(shí)現(xiàn)了對(duì)osgi的支持。目前,eclipse是基于osgi開(kāi)發(fā)的,ibmwebsphere v6.1bea的所有產(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的支持。

          11hibernate的社區(qū)非常繁榮,ibatis則相對(duì)平靜。  

          綜述,hibernate還有很多優(yōu)秀的特點(diǎn),只是我們不知道。Hibernateibatis,就像大家閨秀對(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)越好。

           

           

                                   

          posted on 2008-05-24 09:42 壞男孩 閱讀(7504) 評(píng)論(25)  編輯  收藏

          FeedBack:
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 09:59 | haix
          我堅(jiān)信,hibernate性能問(wèn)題不是問(wèn)題。想想那么多大中小項(xiàng)目都在使用hibernate,你還懷疑hibernate的性能嗎?
          性能不能這樣評(píng)論吧!

          http://www.handandaily.com  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 10:01 | Celin
          不錯(cuò)有道理。我覺(jué)得沒(méi)有技術(shù)積累的公司完全可以投靠到JBoss的旗下。在JBoss下,有許多具有一定業(yè)務(wù)功能的模塊,可以提供給我們借鑒。  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 10:22 | jasin2008
          個(gè)人還是更喜歡寫(xiě)sql而不是hql  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 10:25 | buke
          我覺(jué)得術(shù)業(yè)有專(zhuān)攻,一個(gè)項(xiàng)目只要做好一部分就行了,
          Hibernate包括的東西太多,任何一個(gè)想做的大而全的最終都會(huì)倒下去。
          我們用Hibernate只是要他的ORM就行了,其他的有太多更優(yōu)秀的可以用。  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 10:49 | 山風(fēng)小子
          Hibernate的確很優(yōu)秀,可惜在處理‘大量’數(shù)據(jù),性能不是很好,需要不斷從緩存中evict對(duì)象。  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 10:50 | javajava
          我用Hibernate有3年了,它能使開(kāi)發(fā)效率提升很多。80%的需求都能得到輕松應(yīng)對(duì),20%的需求要靠變通和創(chuàng)新!站在巨人的肩膀上還是比較踏實(shí)的!  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 10:51 | 隔葉黃鶯
          考慮大項(xiàng)目的應(yīng)用服務(wù)器集群環(huán)境的應(yīng)用,Hibernate的緩存能給帶來(lái)什么呢?如果沒(méi)有了會(huì)話親緣性,從另一臺(tái)機(jī)器的緩存中(內(nèi)存或是磁盤(pán)中) 又何異于再?gòu)臄?shù)據(jù)庫(kù)中查詢一下次呢?

          對(duì)于及時(shí)性操作很強(qiáng)的業(yè)務(wù),在其中一個(gè)機(jī)器中緩存已更新,另一機(jī)器的緩存還是老數(shù)據(jù),Hibernate 如何取數(shù)據(jù)。緩存數(shù)據(jù)的更新是建立在某種數(shù)據(jù)操作的基礎(chǔ)上,如何能通知另一機(jī)器同步刷新本地的緩存。

          還有分布式事物,Hibernate 在支持兩個(gè)以至多個(gè)數(shù)據(jù)庫(kù),如何保證依次對(duì)多個(gè)數(shù)據(jù)庫(kù)的表操作的原子性呢?除非全部用數(shù)據(jù)庫(kù)的DB Link, 這樣就能直接由最前端的數(shù)據(jù)庫(kù)來(lái)完成兩階段的提交。

          所以真正在一個(gè)大項(xiàng)目中,集群和分布式事物是不能不提的。  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)[未登錄](méi)
          2008-05-24 10:53 | beansoft
          Well, then, ok. To comparing the ability, might a commerial Java EE Server is better than just a Hibernate or Spring, it can provide all things you might ever thought about or not. It's to say, a framework must have a usability context, without this, the comparing is meaningless. Can u using Hibernate on a mobile device?No. It's said that using a cannon to shot a fly. We are using frameworks to saving time, not to using it to wasting time, so it's the project leader determines which tech would be applyed to the dev progress, not the framework to determines it.

          The bad side of Java is that: too many technical terms and frameworks is developed, but none of it could reach the key of software development: productivity. Is there any could reach the height of MS .NET plus Visual Studio? Spring + Hibernate + Struts/Webwork could not, EJB + JPA + JSF could not. So we are here using some frameworks that everone said itself to be the best one on market, but it's not the truth.

          Personally, I'd not like to say any article like this: using xxx without xxx or 101 things that xxx can do and 1001 things that xxx can't do.  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)[未登錄](méi)
          2008-05-24 10:56 | beansoft
          Bug fix:
          commerial -> commercial
          everone -> each  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)[未登錄](méi)
          2008-05-24 11:00 | beansoft
          推薦一篇文章,讓你看懂Hibernate的性能問(wèn)題:
          http://www.javaeye.com/topic/261

          如果沒(méi)有提供對(duì)應(yīng)數(shù)據(jù)庫(kù)的方言的話,Hibernate的分頁(yè)是先 select * from table, 然后用游標(biāo)和while循環(huán)一條條過(guò)去的,這時(shí)候還說(shuō)什么性能有優(yōu)勢(shì)啊。

          所以說(shuō)世事無(wú)絕對(duì)。  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 13:46 | 結(jié)下梁子
          我們現(xiàn)在的項(xiàng)目導(dǎo)出一個(gè)報(bào)表有可能就有超過(guò)十萬(wàn)的數(shù)據(jù),這個(gè)是真實(shí)存在的情況,目前已經(jīng)把這些模塊全部改用jdbc的方式  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 13:57 | liuya
          我隨做了2年JAVA但從沒(méi)用過(guò)HIBERNATE,最擅長(zhǎng)ORACLE。就我這個(gè)對(duì)的理解,不管你用什么框架,都離不開(kāi)數(shù)據(jù)庫(kù),如果你數(shù)據(jù)庫(kù)沒(méi)設(shè)計(jì)好,用任何框架都是白搭,不管是HIBERNATE還是EJB又或是IBATIS,所以框架只是讓我們開(kāi)發(fā)的時(shí)候方便點(diǎn),但底層還是要搞清楚。  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 18:51 | zht
          重要的不是這門(mén)技術(shù),是其經(jīng)典的實(shí)現(xiàn)思想  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)[未登錄](méi)
          2008-05-24 20:45 | thinkbase.net
          有激情, 不過(guò)對(duì) jsr 過(guò)于盲目崇拜, 另外, "實(shí)在太難了", "我堅(jiān)信", "第一位的", "巨頭", "jsr規(guī)范請(qǐng)求的威力是巨大", "被認(rèn)為是最合理的驗(yàn)證方式", "最崇拜的偶像", "最有發(fā)言權(quán)、最權(quán)威的領(lǐng)袖人物之一", "最值得學(xué)習(xí)的一個(gè)技術(shù)", 樓主過(guò)于想當(dāng)然也過(guò)于盲目崇拜這些巨頭了, 建議不要眼中只有 hibernate 和 ibatis, 它們的黃金時(shí)代早已過(guò)去了, 甚至包括 Spring.  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-24 23:35 | sunlin
          beansoft 哥哥用e文寫(xiě)的內(nèi)容真好,我也很同意。Hibernian不是銀彈啊。以我僅有的經(jīng)驗(yàn),發(fā)現(xiàn)部分從事java的開(kāi)發(fā)人員,部分時(shí)間做的工作,其實(shí)就是Visual Studio點(diǎn)擊幾下就能做到的東西,而本身很堅(jiān)持一些他口中所謂的OO,擴(kuò)展性,標(biāo)準(zhǔn)。我只想問(wèn),叫你做個(gè)增刪查改,你做完沒(méi)啊。很想所,有部分東西,在.net點(diǎn)擊幾下,不用10分鐘的,我見(jiàn)過(guò)有用java的同事做好幾天的,還出bug的。

          ---
          java不是樣樣都好,但很讓人舍不得放棄啊。  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)[未登錄](méi)
          2008-05-25 18:33 | AlleNny
          @sunlin
          VS的還是不要摻合進(jìn)來(lái)了吧,大家都知道那些象快餐一樣的技術(shù)最后會(huì)帶來(lái)什么。  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)[未登錄](méi)
          2008-05-26 09:05 | lz
          hibernate適合懶的程序員使用,懶的程序員都是缺乏細(xì)心的。  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)[未登錄](méi)
          2008-05-26 09:10 | 邊城浪子
          確實(shí)如此,深有體會(huì)。
          在這樣的情況下,還是用JDBC的好!  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)[未登錄](méi)
          2008-05-26 09:11 | 邊城浪子
          @結(jié)下梁子
          確實(shí)如此,深有體會(huì)。
          在這樣的情況下,還是用JDBC的好!  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-26 14:24 | Happy漫步者
          領(lǐng)域建模解決了上述眾多不協(xié)調(diào)問(wèn)題,特別是ORM痛苦使用問(wèn)題,關(guān)于ORM/Hibernate使用還是那句老話:如果你不掌握領(lǐng)域建模方法,那么就不要用Hibernate,對(duì)于這個(gè)層次的你:也許No ORM 更是一個(gè)簡(jiǎn)單之道: No ORM: The simplest solution


          http://www.theserverside.com/blogs/thread.tss?thread_id=41715

            回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-26 20:44 | hammer
          我看不出有什么優(yōu)勢(shì)來(lái),關(guān)系數(shù)據(jù)庫(kù),你非要把它搞成oo的,一條sql就能搞定的,你非要在那里點(diǎn)啊點(diǎn)啊的過(guò)濾,要是碰上報(bào)表,你還是得在java里親自把結(jié)果算一遍,有意思嘛?  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-27 13:17 | sss
          建議大家多上上TSS,眼界不要太窄了  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-27 16:40 | 444
          RE:建議大家多上上TSS,眼界不要太窄了
          ---樓上的站著說(shuō)話不腰疼!  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)
          2008-05-27 17:04 | 懶人
          各有各的好  回復(fù)  更多評(píng)論
            
          # re: 使用hibernate的11大優(yōu)勢(shì)[未登錄](méi)
          2008-07-20 00:18 | 無(wú)名
          存在既有理由! 任何技術(shù)都有其優(yōu)劣,關(guān)鍵在其應(yīng)用場(chǎng)合,根據(jù)應(yīng)用需求來(lái)判斷什么技術(shù)在這種需求下才是最合適的 ,這些都是一個(gè)相對(duì)問(wèn)題,所以不能只站在一方面來(lái)評(píng)判  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 金川县| 张家口市| 南岸区| 贵溪市| 招远市| 玉田县| 丹江口市| 江孜县| 龙江县| 宜君县| 门源| 昆山市| 扬中市| 永州市| 岐山县| 吉木萨尔县| 旺苍县| 连州市| 合川市| 板桥市| 墨竹工卡县| 永清县| 扎囊县| 肇庆市| 金山区| 稷山县| 江油市| 禹州市| 嘉荫县| 开江县| 朔州市| 敦煌市| 许昌县| 平塘县| 阜阳市| 阳山县| 称多县| 区。| 垣曲县| 桐庐县| 长寿区|