溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hibernate領(lǐng)域?qū)ο蟮暮x是什么

發(fā)布時間:2021-06-16 15:53:29 來源:億速云 閱讀:150 作者:chen 欄目:編程語言

本篇內(nèi)容主要講解“Hibernate領(lǐng)域?qū)ο蟮暮x是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Hibernate領(lǐng)域?qū)ο蟮暮x是什么”吧!

Hibernate有很多值得學習的地方,這里我們主要介紹Hibernate領(lǐng)域?qū)ο?,包括介紹結(jié)合一個簡單的例子等方面。

Hibernate領(lǐng)域?qū)ο?/strong>

***,因為我們討論的是一個不是很復(fù)雜的、基于web的應(yīng)用程序,我們需要一組能在不同的層之間移動的對象。領(lǐng)域?qū)ο髮佑赡切┐憩F(xiàn)實世界中的業(yè)務(wù)對象的對象們組成,比如:一份訂單(Order)、訂單項(OrderLineItem)、產(chǎn)品(Product)等等。這個層讓開發(fā)者停止建立和維護不必要的數(shù)據(jù)傳輸對象(或者叫作DTOs),來匹配他們的領(lǐng)域?qū)ο?。允許你把數(shù)據(jù)庫信息讀進Hibernate領(lǐng)域?qū)ο螅╠omain objects)的一個對象圖,這樣你可以在連接斷開的情況下把這些數(shù)據(jù)顯示到UI層。那些對象也能被更新和送回到持久層并在數(shù)據(jù)庫里更新。而且,你不必把對象轉(zhuǎn)化成DTOs,因為DTOs在不同的應(yīng)用層間移動,可能在轉(zhuǎn)換中丟失。這個模型使得Java開發(fā)者自然地以一種面向?qū)ο蟮娘L格和對象打交道,沒有附加的編碼。

結(jié)合一個簡單的例子

既然我們已經(jīng)從一個高的層次上理解了這些組件, 現(xiàn)在就讓我們開始實踐吧。在這個例子中,我們還是將合并Struts、Spring、Hibernate框架。每一個這些框架在一篇文章中都有太多的細節(jié)覆蓋到。這篇文章將用一個簡單的例子代碼展示怎樣把它們結(jié)合在一起,而不是進入每個框架的許多細節(jié)。示例應(yīng)用程序?qū)⑹痉兑粋€請求怎樣跨越每一層被服務(wù)的。這個示例應(yīng)用程序的一個用戶能保存一個訂單到數(shù)據(jù)庫中和查看一個在數(shù)據(jù)庫中存在的訂單。進一步的增強可以使用戶更新或刪除一個存在的訂單。

你可以下載這個應(yīng)用的源碼(http://www.onjava.com/onjava/2004/04/07/examples/wiring.zip)。

因為領(lǐng)域?qū)ο螅╠omain objects)將和每一層交互,我們將首先創(chuàng)建它們。這些對象將使我們定義什么應(yīng)該被持久化,什么業(yè)務(wù)邏輯應(yīng)該被提供,和哪種表現(xiàn)接口應(yīng)該被設(shè)計。然后,我們將配置持久層和用Hibernate領(lǐng)域?qū)ο螅╠omain objects)定義“對象-關(guān)系”映射(object-to-relational mappings)。然后,我們將定義和配置我們的業(yè)務(wù)對象(business objects)。在有了這些組件后,我們就能討論用Spring把這些層連在一起。***,我們將提供一個表現(xiàn)層(presentation layer),它知道怎樣和業(yè)務(wù)服務(wù)層(business service layer)交流和知道怎樣處理從其它層產(chǎn)生的異常(exceptions)。

到此,相信大家對“Hibernate領(lǐng)域?qū)ο蟮暮x是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI