Hibernate多對一及一對多關聯關係理解及區別

2021-05-22 06:16:42 字數 928 閱讀 3391

關聯關係的本質是將關聯關係對映到資料庫中。關聯關係在物件模型中體現為記憶體中的乙個或多個引用。  一對多關係: 一對多關係 分為「單向一對多/多對一關係」和「雙向多對一」關係。

• 「單向一對多/多對一關係」只需在「一」/「多」方進行配置,

• 「雙向多對一關係」需要在關聯雙方均加以配置。 雙向多對一關聯就是在多方和一方都進行配置,並在「一」 方通過屬性inverse="true"設定控制關係反轉

注:單向多對一關聯是最常見的單向關聯關係。

注:雙向多對一關聯是最常見的雙向關聯關係。雙向多對一關聯實際上是「多對

一」與「一對多」關聯的組合。 

多對一及一對多關聯對映的區別(單向): 

不管多對一還是一對多,都是在"多"的一端新增乙個外來鍵指向"一"的一端,只不過是多對一是在多的一端為其自己添外來鍵,而一對多則是在一的一端為多的一端新增外主鍵。

模型:乙個使用者組(group)對應多個使用者(user)。

多對一關聯對映:是在"多"的一端新增乙個外來鍵指向"一"的一端,它維護的關係為多到一的關係,如:當載入乙個使用者(user)時將會同時載入組(group)的資訊。它的關係對映將寫在多的一端(user):    

此時它在多的一端(user)新增了乙個外來鍵「relategroup」指向一的一端。在多的一端通過group維護一的一端。

一對多關聯對映:是在"多"的一端新增乙個外來鍵指向"一"的一端,它維護的關係為一到多的關係,如:當載入乙個組(group)時將會同時載入此組使用者(user)的資訊。它的關係對映將寫在一的一端(group):                           

此時通過在多的一端(user)新增了乙個外來鍵「relategroup」指向一的一端。在一的一端通過users維護多的一端。 

總之,一對多和多對一的對映策略是一致的,都是通過在"多"的一端新增乙個外來鍵指向"一"的一端,只是站的角度不同。 

hibernate單向一對多和雙向一對多

單向一對多 例如有部門封裝類 private int deptno private string deptname private string location 有職員封裝類 private int empno private string empname private dept dept 在多...

Hibernate一對多 雙向

hibernate 雙向關聯就是有 一對多 和 多對一 兩個關聯組合而成德,在雙向關聯的兩端都知道對方是誰。下面就開始演示這種關聯。首先定義我們需要使用的pojo物件。public class member public class order 兩個pojo對應的對映檔案分別為member.hbm....

Hibernate一對多對映

一對多使用區縣和街道舉例 街道的實體 private integer jdid 街道的id private string jdname 街道名 private quxian quxian 屬於哪個區縣 區縣的實體 private integer qxid 區縣的id private string q...