怎樣理解多對多

2021-06-28 20:26:32 字數 543 閱讀 2148

a表,a_id,a_name,a_tel三個字段。 

b表,b_id,b_address,b_sol三個字段。

關聯表,ref_id,a_id,b_id,儲存著ab兩表的id,

比如:a有

a0001,zhang3,139555533

a0002,li4,1397788888

a0003,wang5,13655566

b有 b0001,shanghai,234

b0002,shenyang,332

b0003,chongqing,123

如果想要ab表多對多的話,只需要將關聯表進行增加即可,而ab兩表基本資料不變,

比如:

關聯表ref_table:

r0001,a0001,b0002

r0002,a0001,b0001

r0003,a0001,b0003

r0004,a0002,b0003

通過聯合查詢,就可以得到多對多的資料了,而且不破壞基本資料表。

雙向多對多

雙向多對多會通過乙個中間表來維持關聯關係 雙向多對多關係中必須指定乙個關係維護端 否則中間表裡會出現主鍵重複的問題 例如 標籤類tags和商品類goods 乙個標籤可對應多種商品 乙個商品也能有多個標籤 首先在兩個類中各建乙個對方型別的set作屬性 用到的註解解釋 商品類goods 需要用 join...

Django ORM 一對多 和 多對多

在 models.py 上定義 class province models.model name models.charfield max length 32 def str self return self.name class city models.model name models.char...

Hibernate多對多查詢

乙個老師教許多學生,乙個學生被許多老師教,乙個學生有好多書,同一種書被許多同學擁有.要查詢教擁有書 a 的學生的老師 hql如何寫呀?如何取值?classteacher classstudent classbook hql語句 select t from teacher t join t.stude...