Hibernate實(shí)體層設(shè)計(jì)_第1頁
Hibernate實(shí)體層設(shè)計(jì)_第2頁
Hibernate實(shí)體層設(shè)計(jì)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第二章Hibernate實(shí)體層設(shè)計(jì)l 本章目標(biāo)n 實(shí)體類的概念。n 實(shí)體映射關(guān)系。n 使用Hibernate開發(fā)實(shí)體層。l 什么是實(shí)體類?RUP(Rational Unified Process,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)是一個(gè)面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開發(fā)方法論。根據(jù)Rational(Rational Rose和統(tǒng)一建模語言的開發(fā)者)的說法,將系統(tǒng)中的類分為邊界類、控制類、實(shí)體類。n 邊界類是處理界面和交互操作的。n 控制類主要是從事流程跳轉(zhuǎn)功能的。n 實(shí)體類的主要職責(zé)是存儲(chǔ)和管理系統(tǒng)內(nèi)部的信息,它也可以有行為,甚至很復(fù)雜的行為,但這些行為必須與它所代表的實(shí)體對象密切相關(guān);也就是說實(shí)體類

2、主要是作為數(shù)據(jù)管理層面上存在的類。l 實(shí)體映射關(guān)系我們軟件開發(fā)系統(tǒng)中最常見的實(shí)體映射關(guān)系有:n 單對單,比如公民和身份證的關(guān)系;n 單對多,比如單個(gè)客戶和訂單之間的關(guān)系;n 多對多,比如學(xué)生和課程、教員和學(xué)生之間的關(guān)系;l 使用Hibernate開發(fā)實(shí)體層n 復(fù)合主鍵的使用基于業(yè)務(wù)需求,有時(shí)會(huì)需要使用兩個(gè)字段來作復(fù)合主鍵。Hibernate中實(shí)現(xiàn)復(fù)合主鍵有兩種方法1. 基于實(shí)體屬性2. 基于主鍵類這里我重點(diǎn)介紹基于主鍵類的實(shí)現(xiàn)方式。如果要實(shí)現(xiàn)復(fù)合主鍵,首先類應(yīng)該先滿足以下要求:1、本類必須實(shí)現(xiàn)Serializable 接口2、復(fù)寫equals 和hashCode 方法· equals

3、:對象比較方法· hashCode:取得Hash 編碼對于equals 和 hashCode 方法的復(fù)寫,可以使用第三方工具:commons-lang-.jar注:復(fù)合主鍵查詢方式在實(shí)際應(yīng)用中盡量避免使用復(fù)合主鍵n 一對一關(guān)系u 數(shù)據(jù)庫中的1對1表現(xiàn)形式l 主鍵關(guān)聯(lián)l 通過兩個(gè)表格中使用相同的主鍵,同時(shí)做為另一個(gè)表的外鍵。u 實(shí)體類中的1對1的表現(xiàn)形式l 如果現(xiàn)實(shí)中有兩個(gè)對象分屬不同的類別,他們之間存一對一的關(guān)聯(lián)關(guān)系,則可以通過兩者之間屬性互相包含對方。l 在hibernate中在映射文件采用<one-to-one>來描述。n 一對多關(guān)系u 表中一對多,在表中使用的是外鍵

4、關(guān)聯(lián),通過一張表的一個(gè)鍵做為另一個(gè)表的外來鍵立一對多關(guān)系。u 類中表示為一個(gè)類中有個(gè)集合屬性包含對方類的很多對象,而在另一個(gè)類中,只包含前述類的一個(gè)對象,從而實(shí)現(xiàn)一對多關(guān)系的鍵立。u Hibernate中采用Set類型做為集合,而使用<one to many>和<many to one>來實(shí)現(xiàn)。u 注:有主控權(quán)設(shè)置,通過設(shè)置inverse屬性來設(shè)置,設(shè)置為true的一端讓出主控權(quán);u 你只需要記住這個(gè)直觀的規(guī)則:所有的雙向關(guān)聯(lián)需要有一端被設(shè)置為inverse=false。在一對多關(guān)聯(lián)中它必須是代表多(many)的那端。而在多對多(many-to-many)關(guān)聯(lián)中,你可以任意選取一端,因?yàn)閮啥酥g并沒有差別u 注意一點(diǎn):cascade與inverse區(qū)別。同為控制屬性但其意義不同。n 多對多u 數(shù)據(jù)庫中的實(shí)現(xiàn)方式,一般采用對存在多對多關(guān)系的兩個(gè)對象表,建立多對多關(guān)聯(lián)表,就是用一個(gè)獨(dú)立的表來存放兩個(gè)表的主鍵字段,通過遍歷這張關(guān)系表來獲取兩表的關(guān)聯(lián)關(guān)系。u 在對象中多對多通過,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論