摘要: TSS上面Ganesh同志的文章內容是非常有益的,討論了session的這兩個api的區別。get是每次都會從數據庫取數據以保證數據的可靠。而load則會返回一個proxy,相當于一個存根,訪問的時候從當前session或者hibernate二級緩存中查找,如果找不到則從數據庫中Lazy Load一下。從Hibernate的復雜性上來說,這個概念應該算比較容易理解的,而且這種存在也是非常合理的。順便里面還補充了一下JPA里面也有類似的getReference方法,行為類似load??赐晡恼履銜_始注意這個細節。
可是,這個細節的下面卻引起了n多人的討論,討論的核心就是Hibernate是不是有太多細節了?
很多人說這樣不是OO的,很多人說Hibernate的細節造成它復雜,有人說Hibernate影響了他們的工作效率,等等,反正反對者站出來很多。我想這是可喜的。
說明在Java的Killer-APP組合Spring+Hibernate后面還是有很多持懷疑態度的人的,我們隨時都需要提問題的大腦!
所以,我們也思考一下吧:
閱讀全文