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 person1)、基於外來鍵的單向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...