2016-06-13 114 views
1

現在,我有兩個名爲設備和系統的表。 設備 - 包含有關所有鼠標,CPU,鍵盤,顯示器,投影儀等的信息。基本上所有存在於IT公司辦公室的信息。屬性是(device_id [主鍵],in_office_since,assigned_to)映射兩個表

系統 - 現在這基本上是一個設備集合。例如,鼠標,CPU,顯示器一起構成一個系統。

系統可以包含任何數量的設備。例如,它只能由一個CPU和一臺投影儀組成。 系統的屬性是(system_id [由休眠使用@GeneratedValue自動生成的],device_id_1,device_id_2,...),其中device_id_1和類似名稱的列是引用device_is中Devices_is的外鍵。

從系統到設備有一對多的關係。

現在我無法弄清楚,如何使上述映射中的一個表具有可變數目的屬性。

回答

0

您應該將其設計爲正常的一對多關係。所以,

devices表將有:

  • device_id(PK)
  • in_office_since
  • assigned_to
  • system_id(FK引用systems表,可以爲NULL,如果給定的設備不是任何系統的一部分)

和你systems表:

  • system_id(PK)
  • ...

這樣的話,你可以有一個是由任意數量的設備的系統。這是建立一對多關係的規範方式,使用Hibernate進行映射將是微不足道的。