1.JDBC的自行車沒法知足咱們對複雜任務的需求
對持久化的複雜需求如下幾點:
a.懶加載(須要的時候進行加載)
b.預先抓取(一個查詢獲取完整的關聯對象)
c.級聯(更改數據庫的同時修改其餘表)
2.持久層使用ORM框架(ORM工具)的做用
a.部分ORM框架能夠知足對持久化的複雜需求
b.節省代碼和開發時間
c.ORM工具可以把握的注意力從從容易出錯的SQL代碼轉向如何實現應用程序的真正需求
3.spring對ORM框架的集成以及附加的服務:
a.支持集中Spring聲明事務
b.透明的異常代理
c.線程安全的,輕量級的模板類
d.DAO支持
e.資源管理spring
4.在spring中集成hibernate
hibernate提供的ORM工具的特性的同時,還提供負責特性,e.g 緩存、延遲加載、預先抓取以及分佈式緩存
a.申明session工廠
b.使用不依賴於spring的hibernate
最佳實踐是否是用HibernateTempate,而使用上下文Session(contenxt session)。經過這種方式,會直接將Hibernate SessionFactory 裝配到Repository中,並使用它獲取Session。數據庫
《Spring In Action4 學習筆記》緩存