Hibernate對映檔案之單向關聯關係對映

2021-09-02 03:08:18 字數 2328 閱讀 5056

person類**如下:

具體參見各類對映關係

address類**如下:

public class address implements serializable
1、單向n-1關聯person類**如下:

public class person
1)、基於外來鍵的單向n-1關聯系統會在n的一端即person端對映的資料表中新增乙個外來鍵列,用來參照address表的主鍵列。

多個person對應乙個address,即乙個address對應多個person,因此無法通過在address表中新增乙個外來鍵列來表示關聯關係;

但是乙個person只能對應乙個address,因此可以在person表中新增乙個外來鍵列來表示關聯關係。

因為可以有多個person對應乙個address,所以person表的外來鍵字段可以出現重複的值。

person.hbm.xml檔案內容如下:

2)、基於連線表的單向n-1關聯

這種關聯會把關聯關係儲存在一張單獨的表中。表中有2個外來鍵列,乙個外來鍵列用於參照person表的主鍵,另乙個用於參照address表的主鍵列。

2、單向1-1關聯

1)、基於外來鍵的單向1-1關聯

只需為基於外來鍵的單向n-1關聯的元素增加unique=true屬性即可,即為address_id欄位新增唯一性約束。

2)、基於連線表的單向1-1關聯只需為基於連線表的單向n-1關聯的元素增加unique=true屬性即可,即為address_id欄位新增唯一性約束。

3)、基於主鍵的單向1-1關聯

在person類中配置基於主鍵的單向1-1關聯時,person類不能擁有自己的主鍵生成策略,它的主鍵由address類的主鍵決定。

3、單向1-n關聯

public class person
1)、基於外來鍵的單向1-n關聯系統會在n的一端即address端對映的資料表中增加乙個外來鍵列,來參照person表的主鍵。

2)、基於連線表的1-n關聯

在連線表中又2個字段,乙個是person_id,參照person表的主鍵列;乙個是address_id,參照address表的主鍵列。

乙個person對應多個address,但是乙個address只能對應乙個person,所以連線表的person_id欄位可以有重複值,而address_id欄位的值是唯一的。

4、單向n-n關聯單向n-n關聯只能使用連線表。

只需把基於連線表的單向1-n關聯的元素的unique="true"屬性刪除即可。

對映檔案 Hibernate 對映檔案

乙個物件 關係型對映一般定義在 xml 檔案中。對映檔案指示 hibernate 如何將已經定義的類或類組與資料庫中的表對應起來。儘管有些 hibernate 使用者選擇手寫 xml 檔案,但是有很多任務具可以用來給先進的 hibernate 使用者生成對映檔案。這樣的工具包括xdoclet,mid...

Hibernate對映檔案配置屬性解釋

例子 hbm.xml 解釋 標籤主要用於指定持久化類和資料庫表名 name 屬性指定持久化類得全域性路徑 table 屬性指定資料庫表名 class標籤包含乙個,和多個 元素用於持久化類的唯標識與資料庫表的主鍵欄位的對映,通過定義主鍵的生成策略 標籤屬性,用於持久化類的其他屬性和資料表中的非主鍵欄位...

hibernate對映配置檔案詳解

在 hibernate 中,各表的對映檔案 hbm.xml 可以通過工具生成,例如在使用 myeclipse 開發時,它提供了自動生成對映檔案的工具。配置檔案的基本結構如下 schema 指定對映資料庫的schema名 catalog 指定對映資料庫的catalog名 default cascade...