目前大多數應用都是基於關係型數據庫的,以致於從另一個角度看應用系統複雜的功能都由數據庫實現了,固然,應用系統主要的也就是數據了和業務邏輯。 sql
數據源層的做用是與應用須要的基礎設施的不一樣部分進行通訊(不一樣的數據存儲:文本、文件、數據庫、網絡存儲等等),創建起數據到應用系統的關係橋樑。 數據庫
架構模式 網絡
架構模式要解決的問題是驅動領域邏輯訪問數據庫的方式。 架構
目前咱們的框架兩種都支持,findById(ID),findList(*),記錄集的訪問結果一樣也映射到一個個實例中。 app
行爲問題 框架
所謂行爲問題,就是如何讓各類對象從數據庫中讀取出來以及存到數據庫中。多個對象的讀取修改寫入數據庫是麻煩的,特別是多個操做相同的數據時,如何保證對象中的數據是有效的,也就是同步。 spa
專門解決上述問題的模式就是工做單元,工做單元跟蹤全部從數據庫中讀取的對象以及全部以任務形式修改過的對象,一樣負責將更新提交到數據庫。當咱們調用保存數據的時候,工做單元並不當即執行,二是放入隊列中。 hibernate
加載對象還有另一個問題,就是對象老是要關聯不少個對象的,當某些數據不須要時,若是還要從數據庫中取出來,那效率必然底下,爲了不這種低效,不須要的數據必須不加載進來,固然須要的時候仍是要能加載,這裏就使用到了延遲加載,擁有對象的佔位符,而不是實際對象。 xml
讀取數據 對象
Find(id),數據查找器,用來隱藏sql查詢語句。
結構預設模式
即類屬性到數據庫字段的映射,其中還包括大字段,大對象的映射。
使用元數據
元數據映射基於把映射濃縮到元數據文件的方法(hibernate的xml文件)
數據庫的鏈接是費時的,開啓關閉都是一個漫長的過程,固然也就毫秒級的,可是大量的鏈接關閉是沒法忍受的,全部引入了鏈接池,鏈接池中一部分一直鏈接到數據庫,使用時直接訪問,也不須要斷開。
本節內容即Java世界的ORMapping,想一想hibernate,對象關係映射,元數據,延遲加載,鏈接池等等,現在你們在作企業應用時首選hibernate,由於簡單方便,兼容多種數據庫,固然大量數據加載老是像蝸牛同樣,要一等再等。