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