Hibernate實體層設計_第1頁
Hibernate實體層設計_第2頁
Hibernate實體層設計_第3頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

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

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

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

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

溫馨提示

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

評論

0/150

提交評論