本篇內(nèi)容主要講解“Hibernate領(lǐng)域?qū)ο蟮暮x是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Hibernate領(lǐng)域?qū)ο蟮暮x是什么”吧!
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的芙蓉網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
Hibernate有很多值得學(xué)習(xí)的地方,這里我們主要介紹Hibernate領(lǐng)域?qū)ο螅ń榻B結(jié)合一個(gè)簡單的例子等方面。
Hibernate領(lǐng)域?qū)ο?/strong>
***,因?yàn)槲覀冇懻摰氖且粋€(gè)不是很復(fù)雜的、基于web的應(yīng)用程序,我們需要一組能在不同的層之間移動(dòng)的對象。領(lǐng)域?qū)ο髮佑赡切┐憩F(xiàn)實(shí)世界中的業(yè)務(wù)對象的對象們組成,比如:一份訂單(Order)、訂單項(xiàng)(OrderLineItem)、產(chǎn)品(Product)等等。這個(gè)層讓開發(fā)者停止建立和維護(hù)不必要的數(shù)據(jù)傳輸對象(或者叫作DTOs),來匹配他們的領(lǐng)域?qū)ο?。允許你把數(shù)據(jù)庫信息讀進(jìn)Hibernate領(lǐng)域?qū)ο螅╠omain objects)的一個(gè)對象圖,這樣你可以在連接斷開的情況下把這些數(shù)據(jù)顯示到UI層。那些對象也能被更新和送回到持久層并在數(shù)據(jù)庫里更新。而且,你不必把對象轉(zhuǎn)化成DTOs,因?yàn)镈TOs在不同的應(yīng)用層間移動(dòng),可能在轉(zhuǎn)換中丟失。這個(gè)模型使得Java開發(fā)者自然地以一種面向?qū)ο蟮娘L(fēng)格和對象打交道,沒有附加的編碼。
結(jié)合一個(gè)簡單的例子
既然我們已經(jīng)從一個(gè)高的層次上理解了這些組件, 現(xiàn)在就讓我們開始實(shí)踐吧。在這個(gè)例子中,我們還是將合并Struts、Spring、Hibernate框架。每一個(gè)這些框架在一篇文章中都有太多的細(xì)節(jié)覆蓋到。這篇文章將用一個(gè)簡單的例子代碼展示怎樣把它們結(jié)合在一起,而不是進(jìn)入每個(gè)框架的許多細(xì)節(jié)。示例應(yīng)用程序?qū)⑹痉兑粋€(gè)請求怎樣跨越每一層被服務(wù)的。這個(gè)示例應(yīng)用程序的一個(gè)用戶能保存一個(gè)訂單到數(shù)據(jù)庫中和查看一個(gè)在數(shù)據(jù)庫中存在的訂單。進(jìn)一步的增強(qiáng)可以使用戶更新或刪除一個(gè)存在的訂單。
你可以下載這個(gè)應(yīng)用的源碼(http://www.onjava.com/onjava/2004/04/07/examples/wiring.zip)。
因?yàn)轭I(lǐng)域?qū)ο螅╠omain objects)將和每一層交互,我們將首先創(chuàng)建它們。這些對象將使我們定義什么應(yīng)該被持久化,什么業(yè)務(wù)邏輯應(yīng)該被提供,和哪種表現(xiàn)接口應(yīng)該被設(shè)計(jì)。然后,我們將配置持久層和用Hibernate領(lǐng)域?qū)ο螅╠omain objects)定義“對象-關(guān)系”映射(object-to-relational mappings)。然后,我們將定義和配置我們的業(yè)務(wù)對象(business objects)。在有了這些組件后,我們就能討論用Spring把這些層連在一起。***,我們將提供一個(gè)表現(xiàn)層(presentation layer),它知道怎樣和業(yè)務(wù)服務(wù)層(business service layer)交流和知道怎樣處理從其它層產(chǎn)生的異常(exceptions)。
到此,相信大家對“Hibernate領(lǐng)域?qū)ο蟮暮x是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!