Hiernate筆記整理 一對多(雙向)

2021-08-31 22:22:27 字數 882 閱讀 7149

///

hibernate:

///雙向關聯就是有「一對多」和「多對一」兩個關聯組合而成德,在雙向關聯的兩端都知道對方是誰。

下面就開始演示這種關聯。

首先定義我們需要使用的pojo物件。

public class member

public class order

兩個pojo對應的對映檔案分別為member.hbm.xml和order.hbm.xml。

member.hbm.xml

order.hbm.xml

下面我們來進行測試。

a、插入資料

public void insert()

檢視hibernate在後台使用的sql語句如下:

hibernate:

insert

into

test_member

(age, name, id)

values

(?, ?, ?)

hibernate:

insert

into

test_order

(name, num, member_id)

values

(?, ?, ?)

僅僅就兩條語句,明顯比單向關聯的時候少了一條更新語句(把order的外來鍵進行更新為menber的主鍵值)。

b、載入資料

和單向關聯的區別在於,如果載入的是order物件,那麼它也知道和它關聯的物件。

c、刪除資料

刪除資料和單向關聯時的刪除資料的區別在於,對member及它的關聯物件order載入後,不需要在更新order的外來鍵為null,而是緊跟著逐條刪除order,最後刪除member。

Hibernate筆記整理 一對多(單向)

hibernate 一對多關聯和多對一關聯在實際應用中式非常普遍的。例如乙個會員 member 可以有多個訂單 order 而每個訂單只能屬於某個特定的會員,這便是乙個典型的一對多關聯。本示例要用到的兩個pojo類如下 public class member public class order 會...

mysql join 一對多 Join 一對多連線

資料庫常見的join方式有三種 inner join,left outter join,right outter join 還有一種full join,因不常用,本文不討論 這三種連線方式都是將兩個以上的表通過on條件語句,拼成乙個大表。以下是它們的共同點 1.關於左右表的概念。左表指的是在sql語...

MySQL關係 一對多 一對一 多對多

將實體與實體的關係,反應到最終資料庫表的設計上,將關係分為三種 一對一,一對多 多對一 和多對多,所有的關係都是表與表之間的關係 一對一 一對一 一張表的一條記錄只能與另外一條記錄進行對應,反之亦然 id p 姓名 性別 年齡 身高 婚姻狀況 籍貫 家庭位址 緊急聯絡人 體重 表設計成以上這種形式 ...