新聞中心
本文向大家介紹Hibernate應(yīng)用程序,可能好多人還不了解Hibernate應(yīng)用程序,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。

盡管這兩種代碼映射方式都可以使用,不過(guò)注釋的優(yōu)勢(shì)更為明顯。使用注釋,可以用一些常量來(lái)指定長(zhǎng)度或其他值。編譯循環(huán)的速度更快,并且不需要生成 XML 文件。其中***的優(yōu)勢(shì)是可以訪問(wèn)一些有用信息,例如運(yùn)行時(shí)的非空注釋或長(zhǎng)度。
部分約束如下:
◆@Max(value = 100)
◆@Min(value = 0)
◆@Past
◆@Future
◆@Email
在適當(dāng)條件下,這些注釋會(huì)引起由 DDL 生成檢查約束。(顯然,@Future 并不是一個(gè)適當(dāng)?shù)臈l件。)還可以根據(jù)需要?jiǎng)?chuàng)建定制約束注釋。
Hibernate應(yīng)用程序
編寫驗(yàn)證代碼是一個(gè)煩人且耗時(shí)的過(guò)程。通常,很多開(kāi)發(fā)人員都會(huì)放棄在特定的層進(jìn)行有效性驗(yàn)證,從而可以節(jié)省一些時(shí)間;但是所節(jié)省的時(shí)間是否能夠彌補(bǔ)在這個(gè)地方因忽略部分功能所引起的缺陷卻非常值得探討。如果在所有應(yīng)用程序?qū)又袆?chuàng)建并維護(hù)驗(yàn)證所需要的時(shí)間可以極大地減少,那么爭(zhēng)論的焦點(diǎn)就會(huì)轉(zhuǎn)向是否要在多個(gè)層次中進(jìn)行有效性驗(yàn)證。假設(shè)有一個(gè)應(yīng)用程序,它讓用戶使用一個(gè)用戶名、密碼和信用卡號(hào)來(lái)創(chuàng)建一個(gè)帳號(hào)。在這個(gè)Hibernate應(yīng)用程序中所希望進(jìn)行驗(yàn)證的組件如下:
◆視圖:通過(guò) JavaScript 進(jìn)行驗(yàn)證可以避免與服務(wù)器反復(fù)進(jìn)行交互,這樣可以提供更好的用戶體驗(yàn)。用戶可以禁用 JavaScript,因此這個(gè)層次的驗(yàn)證***要有,但是卻并不可靠。對(duì)所需要的域進(jìn)行簡(jiǎn)單的驗(yàn)證是必須的。
◆控制器:驗(yàn)證必須在服務(wù)器端的邏輯中進(jìn)行處理。這個(gè)層次中的代碼可以以適合某個(gè)特定用途的方式處理驗(yàn)證。例如,在添加新用戶時(shí),控制器可以在進(jìn)行處理之前檢查指定的用戶名是否已經(jīng)存在。
◆服務(wù):相對(duì)復(fù)雜的業(yè)務(wù)邏輯驗(yàn)證通常都最適合放到服務(wù)層中。例如,一旦有一個(gè)信用卡對(duì)象看起來(lái)有效,就應(yīng)該使用信用卡處理服務(wù)對(duì)這個(gè)信用卡的信息進(jìn)行確認(rèn)。
◆DAO:在數(shù)據(jù)到達(dá)這個(gè)層次時(shí),應(yīng)該已經(jīng)是有效的了。盡管如此,執(zhí)行一次快速檢查從而確保所需要的域都非空并且值也都在特定的范圍或遵循特定的格式(例如 e-mail 地址域就應(yīng)該包含一個(gè)有效的 e-mail 地址)也是非常有益的。在此處捕獲錯(cuò)誤總比產(chǎn)生可以避免的 SQLException 錯(cuò)誤要好。
◆DBMS:這是通??梢院雎则?yàn)證的地方。即使當(dāng)前正在構(gòu)建的應(yīng)用程序是數(shù)據(jù)庫(kù)的惟一客戶機(jī),將來(lái)還可能會(huì)添加其他客戶機(jī)。如果應(yīng)用程序有一些 bug(大部分應(yīng)用程序都可能會(huì)有 bug),那么無(wú)效的數(shù)據(jù)也可能會(huì)被發(fā)送給數(shù)據(jù)庫(kù)。在這種情況中,如果走運(yùn),就可以找到無(wú)效的數(shù)據(jù),并且需要分析這些數(shù)據(jù)是否可以清除,以及如何清除。
◆模型:這是進(jìn)行驗(yàn)證的一個(gè)理想地方,它不需要訪問(wèn)外部服務(wù),也不需要了解持久性數(shù)據(jù)。例如,某業(yè)務(wù)邏輯可能會(huì)要求用戶至少提供一個(gè)聯(lián)系信息,這可以是一個(gè)電話號(hào)碼也可以是一個(gè) e-mail 地址;可以使用模型層的驗(yàn)證來(lái)確保用戶的確提供了這種信息。
當(dāng)前文章:詳細(xì)講解Hibernate應(yīng)用程序
URL地址:http://www.dlmjj.cn/article/dpeedhj.html


咨詢
建站咨詢
