入行前幾年,一味追求框架SSH,使用並潛心研究。隨着閱歷和能力的增長,對系統的把控欲愈來愈強,近年已經甚少用Hibernate(也指JPA),我總結爲如下幾點緣由: 程序員
一、Hibernate學習曲線陡峭、時間長。新手從入門到熟悉須要經歷幾個項目,少則幾個月多則一兩年。在項目開發週期愈來愈短,發佈愈來愈頻繁的如今,略顯漫長,本身也沒那個精力和心思去教。 spring
二、Hibernate封裝嚴密,好處是你們寫起來都同樣,但限制了可控性。我聽到DBA跟我說:他喜歡ibatis,由於大家把sql寫在xml裏他能看到。 sql
三、SQL敢稱爲language天然有其存在的價值和道理,計算機專業畢業生理論上都已掌握,這種羣衆基礎咱不能浪費。 框架
四、有項目須要DBA根據須要配置sql,沒門,提需求程序員改,要不您也能去調Java代碼。 性能
沒用Hibernate,我所接觸的項目也沒須要用純JDBC來尋求性能,因此原來只作查詢的ibatis入了咱的法眼。同時引用了spring-data-commons-core裏的Pageable接口和PageRequest實現類、Page和PageImpl實現類,省得本身再寫分頁相關的代碼。用spring-orm的SqlMapClientTemplate省得本身寫模板代碼。 學習