我學習Merise或UML時,如果我們有多對多關係的表,我們必須在關係模型(在Mysql中)中創建一個新表,並且此表將包含拖拽其他桌子的id。
但是我們真的必須創建一個新的,因爲有了休眠和映射,我認爲我們不需要。
因爲每個表(實體)都會有另一個表(實體)的列表。
那麼處理多對多關係的正確方法是什麼?創建一個新表還是不?多對多關係和關係模型
0
A
回答
1
通常,您需要normalise數據庫中的多對多關係(有些專家可能會在choose not to之間)。然而Spring並不是其中之一,它只是簡化了的一部分。
1
您仍然需要一個「連接表」,該連接表將包含兩列與其他兩個表的外鍵。
在hibernate中,當一個實體有一個List時,你仍然需要能夠將這個關係存儲在表上。
因此,舉例來說,如果你想要一個多到多表A和表B之間..
//TableA class:
@ManyToMany
@JoinTable(name="TABLEA_TABLEB",
joinColumns=
@JoinColumn(name="TABLEA_ID", referencedColumnName="ID"),
inverseJoinColumns=
@JoinColumn(name="TABLEB_ID", referencedColumnName="ID")
)
public Set<TableB> bees;
//TableB Class:
@ManyToMany(mappedBy="bees")
public Set<TableA> ays;
這將創建一個連接表有兩列(「tablea_id」,「tableb_id」);這些列將與主實體的「ID」(主鍵)具有外鍵關係。
0
你提到UML:
在Association Class
的情況下,join table
會有「額外」的欄目,除了keys
。
相關問題
- 1. 模型關係多對多
- 2. 模型關係多對多關係實體上的屬性
- 3. django模型中的多對多關係
- 4. 模型ddd上的多對多關係
- 5. Yii2多對多模型關係
- 6. 許多一對多的模型關係
- 7. 模型多對多的關係
- 8. Laravel 5模型關係多對多
- 9. 具有多對多關係的模型
- 10. 建模多對多關係
- 11. 建模多對多的一元關係和1:一元關係
- 12. 數據模型,多對多和一對多關係
- 13. ORM和多對多關係
- 14. IndexedDB和多對多關係
- 15. SolrNet和多對多關係
- 16. 關係有多對多關係
- 17. SQLALchemy多態模型的多對多模型關係配置
- 18. 多對多關係
- 19. 多對多關係
- 20. 多對多關係
- 21. 多對多關係
- 22. 多對多關係
- 23. 多對多關係
- 24. 多對多關係
- 25. 多對多關係
- 26. 關係功能的AR模型,多對一的關係
- 27. Django多對一模型關係
- 28. CoreData - 一對多關係 - 數據模型
- 29. Laravel:一對多,許多對一個模型一對多關係
- 30. SqlAlchemy關係多對多與其他多對多關係