| 導購 | 订阅 | 在线投稿
分享
 
 
 

Java框架:初學者對Hibernate的學習方法

來源:互聯網  2008-06-01 03:26:22  評論

Hibernate入門容易,掌握精通我也不敢自誇。我第一遍看Hibernate文檔的時候也覺得很吃力,但不是因爲Hibernate難掌握而感到吃力,是因爲Hibernate文檔處處都是持久層設計的經驗和最佳實踐。

Hibernate文檔准確的來說,絕大部分內容都在講對象的持久層設計,而不是簡單的Hibernate使用,使用問題查Java doc就夠了。所以學習Hibernate,主要是在學習持久層的設計模式,如果你把Hibernate文檔都看完了,還整天只會提那些 Hibernate的配置問題,Hibernate的類調用問題,我覺得這樣的人還沒有真正的入門,算是白學了。

我對Hibernate 的那些配置也不是特別純熟,每次寫hbm,都要對照文檔一點點的檢查;類調用參數也不太記得,寫代碼也要Java doc隨時備查。

但是我在學習Hibernate的時候即集中所有精力來理解Hibernate的運行原理,集中精力來掌握持久層設計應該把握的原則和技巧,這些才對我是最重用的東西。毫不誇張的說,學習完Hibernate,我對JDBC的編程也提高了一大截,更不要說對于J2EE架構的持久層的框架設計,基本上是了然于胸了,即使將來換了API,不用Hibernate的,改用JDO,Castor什麽的,這些經驗一樣照用。

學習Hibernate主要不是在學習Hibernat怎麽配置,用工具怎麽生成hbm文件,如果你把重點放在這裏,基本上等于白學了Hibernate。Hibernate的精華在于無與倫比的靈巧的對象持久層設計,這些持久層設計經驗不會因爲你不用Hibernate而喪失掉,我自己學習Hibernate,已經明顯感覺到對持久層設計能力已經長了很多經驗值了,這些經驗甚至不光可以用在Java上,用在.net上也是一樣。

所以Hibernate配置的學習,我只是簡單看看,用的時候知道到那裏去查就行了,一堆複雜的生成工具我根本就看都不去看,這樣算下來,掌握Hibernate的配置,可以用Hibernate來替代JDBC寫程序,不過花上3天時間就足夠了。我想3天時間對你來說不算很奢侈的學習代價吧。 爲什麽我這麽強調學習Hibernate的對象持久層設計理念呢?那就看你的理想是想一輩子做一個程序員呢?還是想向更高的方向發展呢?從純做技術的角度來說,職業發展的最高點是「系統架構師」,Bill Gates不是還叫做微軟的首席系統架構師嗎?

System Architect職位需要的是你的學習和領悟能力,如果你不能把學習Hibernate得到的設計經驗運用到其它地方,那麽你是失敗的,也沒有資格做 System Architect。

不管JDO也好,Hibernate也好,TopLink也好,CocoBase也好,還是Castor,還是什麽Torque,OJB,軟件的使用和配置方法可以各異,但本質上都是ORM,都是對JDBC的對象持久層封裝,所以萬變不離其宗,如果你完整的學習和掌握Hibernate花了1個月的時間,那麽你再學習OJB的時間不應該超過1個星期,因爲你已經把對象持久層設計都了然于胸了,你需要的只是熟悉一下OJB的API和配置罷了,至于怎麽運用OJB進行持久層的開發你早就已經熟悉了。

所以當你掌握了兩種以上的ORM,你應該能夠不拘于使用的ORM軟件的限制,設計出適合于你的項目的持久層來,這才是System Architect的水准。

用金庸小說來打個比方來說吧,張無忌學太極劍,只記劍意,不記劍招,這才是真正的高手,而低手就只會去學習劍招,而不去領會劍招背後蘊含的劍意,所以一輩子都是低手,永遠不能真正學會太極劍。所以周顛看到張三豐第二次演示太極劍,招式完全不同就以爲是另一套東西,其實本質上都一樣。學習Hibernate也不要舍本逐末的去學各種五花八門的工具,重點掌握它的對象持久層設計理念。

Hibernate入門容易,掌握精通我也不敢自誇。我第一遍看Hibernate文檔的時候也覺得很吃力,但不是因爲Hibernate難掌握而感到吃力,是因爲Hibernate文檔處處都是持久層設計的經驗和最佳實踐。 Hibernate文檔准確的來說,絕大部分內容都在講對象的持久層設計,而不是簡單的Hibernate使用,使用問題查Java doc就夠了。所以學習Hibernate,主要是在學習持久層的設計模式,如果你把Hibernate文檔都看完了,還整天只會提那些 Hibernate的配置問題,Hibernate的類調用問題,我覺得這樣的人還沒有真正的入門,算是白學了。 我對Hibernate 的那些配置也不是特別純熟,每次寫hbm,都要對照文檔一點點的檢查;類調用參數也不太記得,寫代碼也要Java doc隨時備查。 但是我在學習Hibernate的時候即集中所有精力來理解Hibernate的運行原理,集中精力來掌握持久層設計應該把握的原則和技巧,這些才對我是最重用的東西。毫不誇張的說,學習完Hibernate,我對JDBC的編程也提高了一大截,更不要說對于J2EE架構的持久層的框架設計,基本上是了然于胸了,即使將來換了API,不用Hibernate的,改用JDO,Castor什麽的,這些經驗一樣照用。 學習Hibernate主要不是在學習Hibernat怎麽配置,用工具怎麽生成hbm文件,如果你把重點放在這裏,基本上等于白學了Hibernate。Hibernate的精華在于無與倫比的靈巧的對象持久層設計,這些持久層設計經驗不會因爲你不用Hibernate而喪失掉,我自己學習Hibernate,已經明顯感覺到對持久層設計能力已經長了很多經驗值了,這些經驗甚至不光可以用在Java上,用在.net上也是一樣。 所以Hibernate配置的學習,我只是簡單看看,用的時候知道到那裏去查就行了,一堆複雜的生成工具我根本就看都不去看,這樣算下來,掌握Hibernate的配置,可以用Hibernate來替代JDBC寫程序,不過花上3天時間就足夠了。我想3天時間對你來說不算很奢侈的學習代價吧。 爲什麽我這麽強調學習Hibernate的對象持久層設計理念呢?那就看你的理想是想一輩子做一個程序員呢?還是想向更高的方向發展呢?從純做技術的角度來說,職業發展的最高點是「系統架構師」,Bill Gates不是還叫做微軟的首席系統架構師嗎? System Architect職位需要的是你的學習和領悟能力,如果你不能把學習Hibernate得到的設計經驗運用到其它地方,那麽你是失敗的,也沒有資格做 System Architect。 不管JDO也好,Hibernate也好,TopLink也好,CocoBase也好,還是Castor,還是什麽Torque,OJB,軟件的使用和配置方法可以各異,但本質上都是ORM,都是對JDBC的對象持久層封裝,所以萬變不離其宗,如果你完整的學習和掌握Hibernate花了1個月的時間,那麽你再學習OJB的時間不應該超過1個星期,因爲你已經把對象持久層設計都了然于胸了,你需要的只是熟悉一下OJB的API和配置罷了,至于怎麽運用OJB進行持久層的開發你早就已經熟悉了。 所以當你掌握了兩種以上的ORM,你應該能夠不拘于使用的ORM軟件的限制,設計出適合于你的項目的持久層來,這才是System Architect的水准。 用金庸小說來打個比方來說吧,張無忌學太極劍,只記劍意,不記劍招,這才是真正的高手,而低手就只會去學習劍招,而不去領會劍招背後蘊含的劍意,所以一輩子都是低手,永遠不能真正學會太極劍。所以周顛看到張三豐第二次演示太極劍,招式完全不同就以爲是另一套東西,其實本質上都一樣。學習Hibernate也不要舍本逐末的去學各種五花八門的工具,重點掌握它的對象持久層設計理念。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有