資料庫中表與表之間建立關係(一對多 多對多)

2021-07-26 15:46:14 字數 1256 閱讀 2283

例:公司與員工的關係,公司為一,公司員工為多,需要在多方建立外來鍵指向一方的主鍵。

private setyuangongset=new hashset();

public setgetyuangongset()

public void setyuangongset(setyuangongset)

private gongsi gongsi;

public gongsi getgongsi()

public void setgongsi(gongsi gongsi)

需要使用set標籤表示所有員工

set標籤的name屬性需要寫上在公司實體類裡面表示員工的set集合名稱,set標籤裡面還要包含乙個key標籤,key標籤的column屬性需要寫實體類的外來鍵屬性名稱。

在key標籤的下面還需乙個one-to-many標籤,標籤裡面的class屬性寫員工實體類的全路徑

需要在一干涉檔案中新增many-to-one標籤,標籤的name屬性需要寫上員工實體類裡面表示公司的物件名稱,標籤的class屬性需要寫上公司類的全路徑,標籤的column屬性需要寫上外來鍵屬性名稱

例:商品與訂單的關係,乙個商品可以屬於多個訂單,乙個訂單可以有多種商品。

使用者和角色的關係,乙個角色可以包括多個使用者,乙個使用者可以是多個角色。

建立一張使用者表和一張角色表,還需建立一張關係表,關係表至少有兩個外來鍵,分別指向兩張表的主鍵。

(1)以訂單和商品為例

乙個訂單可以有多種商品,使用set集合表示

//乙個訂單可以有多種商品

private setshangpinentityset=new hashset();

public setgetshangpinentityset()

public void setshangpinentityset(setshangpinentityset)

一種商品可以屬於多個訂單,使用set集合表示

//一種商品可以屬於多個訂單

private setdingdanentityset=new hashset();

public setgetdingdanentityset()

public void setdingdanentityset(setdingdanentityset)

(1)基本配置略

(2)配置多對多關係

都是使用set標籤來表示彼此

在訂單配置檔案中配置如下標籤

在商品配置檔案中配置如下標籤

3、在核心配置檔案中引入對映檔案

資料庫中表關係(一對多,多對多,一對一)

一對多關係是最普通的一種關係。在這種關係中,a 表中的一行可以匹配 b 表中的多行,但是 b 表中的一行只能匹配 a 表中的一行。例如,publishers和titles表之間具有一對多關係 每個出版社出版很多書,但是每本書名只能出自乙個出版社。只有當乙個相關列是乙個主鍵或具有唯一約束時,才能建立一...

資料庫中表關係(一對多,多對多,一對一)

一對多關係是最普通的一種關係。在這種關係中,a 表中的一行可以匹配 b 表中的多行,但是 b 表中的一行只能匹配 a 表中的一行。例如,publishers和titles表之間具有一對多關係 每個出版社出版很多書,但是每本書名只能出自乙個出版社。只有當乙個相關列是乙個主鍵或具有唯一約束時,才能建立一...

資料庫表關係(單錶 一對一 一對多 多對多)

寫在開頭 一直搞不清楚資料庫表之間的關係,看了很多部落格還是有些瀰漫,沒有具體的例子輔助。所以寫了下面的內容,此文中的案例以學校為例,個人理解,可能會有諸多不妥之處,僅供參考。什麼是主鍵?外來鍵?1.主鍵 主鍵是表的乙個特殊字段,可以唯一地標識表中的每條資訊。比如 身份證號。乙個表中可以有乙個或多個...