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