作為一種面向?qū)ο蟮恼Z言,Java為面向?qū)ο笤瓌t(封裝、繼承、多態(tài))的實現(xiàn)提供了語言及運行環(huán)境支持。然而,由于這些面向?qū)ο蟮脑瓌t是從軟件工程的基礎上發(fā)展而來的,與從數(shù)學理論中發(fā)展起來的關系數(shù)據(jù)庫技術在基礎上存在著很大的不同,因此,在利用Java語言進行開發(fā)時,在與關系數(shù)據(jù)庫打交道的過程中就出現(xiàn)了一些不匹配的地方。為了解決這些不匹配問題,出現(xiàn)了ORM技術。隨著技術的發(fā)展,已經(jīng)有不少成熟的 ava ORM產(chǎn)晶供開發(fā)者選擇。
在通常情況下,可以直接使用 Hibernate。 Hibernate歷史和 Spring一樣悠久,在使用Hibernate的過程中,除了需要處理像 Session、 Session Factory這些 Hibernate類之外,還需要處理諸如事務處理、打開 Session和關閉 Session這樣的問題,這在某種程度上增加了使用Hibernate的難度。而 Spring提供的 Hibernate封裝,如 Hibernate Daosupport Hibernate Template等,簡化了這些通用過程。在使用通用過程時,只需要直接關注數(shù)據(jù)的動作就可以了,比如數(shù)據(jù)的查詢、更新等,從這個角度上說, Spring提供了重要的價值。
同樣地, Spring的ORM包提供了對許多ORM產(chǎn)品的支持。對于開源軟件來說Hibernate和 IbAtis是應用較為廣泛的兩個ORM產(chǎn)品,所以本書選擇以這兩個產(chǎn)品為例對Spring ORM的實現(xiàn)進行分析。在對 Hibernate和 ibAtis的驅(qū)動支持的分析過程中,可以體會到 Spring%簡化用戶使用ORM產(chǎn)品所做的一些努力,以及對應用開發(fā)使用其他的ORM產(chǎn)品所起到的啟示作用。
咨詢熱線
010-85377344
135-21581588
微信客服
QQ客服
3026106565 點擊咨詢