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...