hibernate 多對多關係中間屬性關聯方法

2021-05-23 16:26:45 字數 877 閱讀 2612

hibernate 框架可以將面向關係的資料庫模型封裝成物件導向的資料庫模型,這樣以來一方面了我們在具體應用中的資料庫設計,另一方面又簡化了我們的編碼。然而在現實中我們往往會發現有些面向關係的資料庫模型轉化成物件導向的資料庫模型之後很難再 hibernate 中配置。比如:在多對多關係模型中,中間表往往含有自己的屬性,這種情況在 hibernate 中該如何配置?我在網上查了好多資料都說將多對多拆成兩個一對多的方式來解決,這樣做也不錯,不過我個人覺得使用起來比較麻煩,更主要的一點是這種方法將 hibernate 物件導向的設計思想降低到了關係型設計, hibernate 帶來的好處就只有編碼方便這一點了。

下面我給大家提供一種 hibernate 中多對多關係表中有屬性的使用方法。

1 、 project 和 programmer 的實體關係圖如下:

2 、將 project 、 programmer 、 participate 封裝成三個實體

view plaincopy to clipboardprint?

public class project   

public class programmer   

public class participate  

public class project

public class programmer

public class participate

3 、配置屬性檔案

project.hbm.xml

programmer.hbm.xml

4 、你呼叫除錯就可以了

注意:

在其中一方要用 inverse= 「 true 」來實現控制翻轉,在這一方的 要新增 lasy= 「 false 」的屬性,以便對方控制。

hibernate 多對多關係(一)

什麼是多對多關係呢?關聯式資料庫中兩個表之間的一種關係,該關係中第乙個表中的乙個行可以與第二個表中的乙個或多個行相關。第二個表中的乙個行也可以與第乙個表中的乙個或多個行相關。比如在常見的訂單管理資料庫當中 產品 表和 訂單 表之間的關係。單個訂單中可以包含多個產品。另一方面,乙個產品可能出現在多個訂...

Hibernate多對多關聯關係

今天遇到乙個問題 有乙個的類reckoning,乙個類accountitem。這兩個類之間的關係時多對多的關聯關係。一開始是由accountitem來維護關聯關係的,也就是reckoning.hbm.xml檔案中的如下 將inverse的值設為true.set name accountitems t...

Hibernate多對多關係對映

兩張表的多對多關係,在資料庫中通常是通過第三張中間表來實現的,第三張中間表放的是兩張表各自的主鍵值,通過主鍵與主鍵的對應來體現表直接的關係。比如在許可權系統中,乙個使用者可以擁有多種許可權,而一種許可權也可以授予多個使用者。在持久化物件設計的時候,角色和使用者都分別有乙個集合來防止擁有它的使用者或角...