性格決定命運(yùn),氣度影響格局
          posts - 20, comments - 18, trackbacks - 0, articles - 1
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          如何學(xué)習(xí)Hibernate

          Posted on 2007-11-01 15:54 尚愛(ài)軍 閱讀(2046) 評(píng)論(9)  編輯  收藏

          Hibernate 入門(mén)容易,掌握精通我也不敢自夸。我第一遍看Hibernate文檔的時(shí)候也覺(jué)得很吃力,但不是因?yàn)镠ibernate難掌握而感到吃力,是因?yàn)? Hibernate文檔處處都是持久層設(shè)計(jì)的經(jīng)驗(yàn)和最佳實(shí)踐。Hibernate文檔準(zhǔn)確的來(lái)說(shuō),絕大部分內(nèi)容都在講對(duì)象的持久層設(shè)計(jì),而不是簡(jiǎn)單的 Hibernate使用,使用問(wèn)題查Java doc就夠了。所以學(xué)習(xí)Hibernate,主要是在學(xué)習(xí)持久層的設(shè)計(jì)模式,如果你把Hibernate文檔都看完了,還整天只會(huì)提那些 Hibernate的配置問(wèn)題,Hibernate的類調(diào)用問(wèn)題,我覺(jué)得這樣的人還沒(méi)有真正的入門(mén),算是白學(xué)了。

          我對(duì)Hibernate 的那些配置也不是特別純熟,每次寫(xiě)hbm,都要對(duì)照文檔一點(diǎn)點(diǎn)的檢查;類調(diào)用參數(shù)也不太記得,寫(xiě)代碼也要Java doc隨時(shí)備查。但是我在學(xué)習(xí)Hibernate的時(shí)候即集中所有精力來(lái)理解Hibernate的運(yùn)行原理,集中精力來(lái)掌握持久層設(shè)計(jì)應(yīng)該把握的原則和技 巧,這些才對(duì)我是最重用的東西。毫不夸張的說(shuō),學(xué)習(xí)完Hibernate,我對(duì)JDBC的編程也提高了一大截,更不要說(shuō)對(duì)于J2EE架構(gòu)的持久層的框架設(shè) 計(jì),基本上是了然于胸了,即使將來(lái)?yè)Q了API,不用Hibernate的,改用JDO,Castor什么的,這些經(jīng)驗(yàn)一樣照用。

          學(xué)習(xí)Hibernate主要不是在學(xué)習(xí)Hibernat怎么配置,用工具怎么生成hbm文件,如果你把 重點(diǎn)放在這里,基本上等于白學(xué)了Hibernate。Hibernate的精華在于無(wú)與倫比的靈巧的對(duì)象持久層設(shè)計(jì),這些持久層設(shè)計(jì)經(jīng)驗(yàn)不會(huì)因?yàn)槟悴挥? Hibernate而喪失掉,我自己學(xué)習(xí)Hibernate,已經(jīng)明顯感覺(jué)到對(duì)持久層設(shè)計(jì)能力已經(jīng)長(zhǎng)了很多經(jīng)驗(yàn)值了,這些經(jīng)驗(yàn)甚至不光可以用在Java 上,用在.net上也是一樣。所以Hibernate配置的學(xué)習(xí),我只是簡(jiǎn)單看看,用的時(shí)候知道到那里去查就行了,一堆復(fù)雜的生成工具我根本就看都不去 看,這樣算下來(lái),掌握Hibernate的配置,可以用Hibernate來(lái)替代JDBC寫(xiě)程序,不過(guò)花上3天時(shí)間就足夠了。我想3天時(shí)間對(duì)你來(lái)說(shuō)不算很 奢侈的學(xué)習(xí)代價(jià)吧。

          為什么我這么強(qiáng)調(diào)學(xué)習(xí)Hibernate的對(duì)象持久層設(shè)計(jì)理念呢?那就看你的理想是想一輩子做一個(gè)程序 員呢?還是想向更高的方向發(fā)展呢?從純做技術(shù)的角度來(lái)說(shuō),職業(yè)發(fā)展的最高點(diǎn)是“系統(tǒng)架構(gòu)師”,Bill Gates不是還叫做微軟的首席系統(tǒng)架構(gòu)師嗎?System Architect職位需要的是你的學(xué)習(xí)和領(lǐng)悟能力,如果你不能把學(xué)習(xí)Hibernate得到的設(shè)計(jì)經(jīng)驗(yàn)運(yùn)用到其它地方,那么你是失敗的,也沒(méi)有資格做 System Architect。

          不管JDO也好,Hibernate也好,TopLink也好,CocoBase也好,還是 Castor,還是什么Torque,OJB,軟件的使用和配置方法可以各異,但本質(zhì)上都是ORM,都是對(duì)JDBC的對(duì)象持久層封裝,所以萬(wàn)變不離其宗, 如果你完整的學(xué)習(xí)和掌握Hibernate花了1個(gè)月的時(shí)間,那么你再學(xué)習(xí)OJB的時(shí)間不應(yīng)該超過(guò)1個(gè)星期,因?yàn)槟阋呀?jīng)把對(duì)象持久層設(shè)計(jì)都了然于胸了,你 需要的只是熟悉一下OJB的API和配置罷了,至于怎么運(yùn)用OJB進(jìn)行持久層的開(kāi)發(fā)你早就已經(jīng)熟悉了。

          所以當(dāng)你掌握了兩種以上的ORM,你應(yīng)該能夠不拘于使用的ORM軟件的限制,設(shè)計(jì)出適合于你的項(xiàng)目的持 久層來(lái),這才是System Architect的水準(zhǔn)。用金庸小說(shuō)來(lái)打個(gè)比方來(lái)說(shuō)吧,張無(wú)忌學(xué)太極劍,只記劍意,不記劍招,這才是真正的高手,而低手就只會(huì)去學(xué)習(xí)劍招,而不去領(lǐng)會(huì)劍 招背后蘊(yùn)含的劍意,所以一輩子都是低手,永遠(yuǎn)不能真正學(xué)會(huì)太極劍。所以周顛看到張三豐第二次演示太極劍,招式完全不同就以為是另一套東西,其實(shí)本質(zhì)上都一 樣。學(xué)習(xí)Hibernate也不要舍本逐末的去學(xué)各種五花八門(mén)的工具,重點(diǎn)掌握它的對(duì)象持久層設(shè)計(jì)理念。


          評(píng)論

          # re: 如何學(xué)習(xí)Hibernate  回復(fù)  更多評(píng)論   

          2007-11-02 17:55 by CoderDream
          說(shuō)得很好,支持一下!

          # re: 如何學(xué)習(xí)Hibernate  回復(fù)  更多評(píng)論   

          2007-11-02 18:30 by 大鵬
          說(shuō)得好!是要認(rèn)真學(xué)習(xí)持久層設(shè)計(jì)!

          # re: 如何學(xué)習(xí)Hibernate[未登錄](méi)  回復(fù)  更多評(píng)論   

          2008-08-22 16:08 by 楚留香
          好東西哈,good

          # re: 如何學(xué)習(xí)Hibernate  回復(fù)  更多評(píng)論   

          2009-05-06 13:29 by ddd
          狗屁

          # re: 如何學(xué)習(xí)Hibernate  回復(fù)  更多評(píng)論   

          2009-05-17 11:23 by gates
          樓上的不懂計(jì)算機(jī),所以就別瞎說(shuō)

          # re: 如何學(xué)習(xí)Hibernate  回復(fù)  更多評(píng)論   

          2009-08-11 17:15 by sylvan
          很強(qiáng)大~

          # re: 如何學(xué)習(xí)Hibernate[未登錄](méi)  回復(fù)  更多評(píng)論   

          2009-09-15 21:13 by ben
          文章說(shuō)的對(duì)是對(duì),就是太羅嗦了

          # re: 如何學(xué)習(xí)Hibernate  回復(fù)  更多評(píng)論   

          2009-11-04 17:58 by pipilu
          轉(zhuǎn)載的文章,應(yīng)該寫(xiě)一下出處的!

          # re: 如何學(xué)習(xí)Hibernate  回復(fù)  更多評(píng)論   

          2009-11-10 13:59 by meself
          http://itchen.blog.51cto.com/343363/210172

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 遂川县| 江西省| 上蔡县| 赣州市| 锡林浩特市| 凉城县| 教育| 成武县| 夏河县| 始兴县| 沧州市| 诸暨市| 蚌埠市| 土默特右旗| 荥阳市| 财经| 万源市| 措美县| 法库县| 织金县| 淮安市| 柏乡县| 会宁县| 京山县| 霍州市| 瓮安县| 阿克苏市| 绍兴市| 拜城县| 于都县| 泗水县| 达尔| 怀远县| 嘉定区| 宜丰县| 孝昌县| 炎陵县| 西贡区| 宜宾市| 确山县| 孝义市|