freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

跟我學hibernate框架技術——在容器外實現(xiàn)hibernate框架繼承映射關系第3部分(編輯修改稿)

2024-12-20 08:42 本頁面
 

【文章內(nèi)容簡介】 數(shù)據(jù)時將會出現(xiàn)下面的錯誤。 可見這種映射方式無法保證關系數(shù)據(jù)模型的數(shù)據(jù)完整性。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權所有,盜版必究 , 14/32 頁 14 繼承關系的映射實現(xiàn)方式 三 每個類均映射為數(shù)據(jù)庫表 繼承關系樹的每個類對應一個表 的實現(xiàn)示例 映射方式的實現(xiàn) ( 1)問題的數(shù)據(jù)庫表 下面以 學校管理系統(tǒng) 中的人員繼承關系映射 問題作為示例來加以說明,如下圖所示 我們將繼承關系樹中的每個類(包括抽象類)以及接口都對應一個表。 ( 2)創(chuàng)建數(shù)據(jù)庫表 在本例中,需要創(chuàng)建 PersonBase、 StudentInfo 和 TeacherInfo 表。如下圖所示, PersonBase表僅包含和 AbstractPerson 類的屬性對應的字段, StudentInfo 表僅包含和 Student 類的屬性對應的字段, TeacherInfo 表僅包含和 Teacher 類的屬性對應的字段。 此外, StudentInfo 表和 TeacherInfo 表都以 personID 字段作為主鍵,該字段還同時作為外鍵參照 PersonBase 表。各個數(shù)據(jù)庫表的結構如下所示: id PK depName depDescriptor Department 表 id PK depID FK personName PersonBase 表 personID PK FK StudentInfo 表 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權所有,盜版必究 , 15/32 頁 15 ? Department 表的結構 ? PersonBase 表的結構 ? StudentInfo 表的結構 ? TeacherInfo 表 的結構 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權所有,盜版必究 , 16/32 頁 16 創(chuàng)建 映射文件 ( 1)映射文件的設計方法 Department 類和 AbstractPerson 類有相應的映射文件 , 而 Student 類和 Teacher 類沒有相應的映射文件。 下圖顯示了持久化類、映射文件和數(shù)據(jù)庫表之 間的對應關系。 ( 2)創(chuàng)建映射文件 文件的內(nèi)容 (繼續(xù)采用前面方法的示例中的配置文件) 從 Department類到 AbstractPerson類是多態(tài)關聯(lián),由于關系數(shù)據(jù)模型描述了 AbstractPerson類和它的兩個子類的繼承關系,因此可以映射 Department 類的 persons 集合。 下面是 文件的代碼,該文件不僅映射了 Department 類的 id 和depName 屬性,還映射了它的 persons 集合。 ?xml version=? !DOCTYPE hibernatemapping Department 類 Student 類 AbstractPerson 類 Teacher 類 Department 表 PersonBase 表 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權所有,盜版必究 , 17/32 頁 17 PUBLIC //Hibernate/Hibernate Mapping DTD hibernatemapping class name= table=Department id name=id type=int column=ID generator class=increment/ /id property name=depName type=string column=depName / set name=persons inverse=true lazy=true key column=depID / onetomany class= / /set /class /hibernatemapping ( 3)注意 DepartmentPO 類的代碼 Department 類的代碼進行采用前面的 Department 類,它的代碼應該為下面的狀態(tài) 注意“ Set persons”集合的定義 可以借用第二種方法中的代碼。 package 。 import .*。 public class DepartmentPO { private int id。 private String depName。 private Set persons=null。 public Set getPersons() { return persons。 } public void setPersons(Set persons) { 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權所有,盜版必究 , 18/32 頁 18 = persons。 } public String getDepName() { return depName。 } public void setDepName(String depName) { = depName。 } public int getId() { return id。 } public void setId(int id) { = id。 } public boolean equals(Object other) { if (this == other) { return true。 } if (! (other instanceof Department)) { return false。 } return true。 } } ( 4)創(chuàng)建映射文件 文件的內(nèi)容 文件用于把 PersonBase 類映射到 PersonBase 表,在這個映射文件中,除了需要映射 PersonBase 類本身的屬性,還需要在 joinedsubclass元素中映射兩個子類的屬性。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權所有,盜版必究 , 19/32 頁 19 下面是 文件的代碼。 ?xml version=? !DOCTYPE hibernatemapping PUBLIC //Hibernate/Hibernate Mapping DTD hibernatemapping class name= table=PersonBase id name=id type=int column=id generator class=increment/ /id property name=personName type=string column=personName / manytoone name=department column=depID class= / joinedsubclass name= 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權所有,盜版必究 , 20/32 頁 20 table=StudentInfo key column=personID / property name=studentLevel column=studentLevel type=int / property name=studentMajor c
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1