现在,我有两个名为Devices and Systems的表。 设备 - 包含有关所有鼠标,CPU,键盘,显示器,投影仪等的信息。基本上是IT公司办公室中存在的所有信息。属性是(device_id [主键],in_office_since,assigned_to)
系统 - 现在这基本上是一组设备。例如,鼠标,cpu,监视器一起构成一个系统。
系统中可以包含任意数量的设备。例如,它只能由cpu和投影仪组成。 系统的属性是(system_id [由hibernate使用@GeneratedValue自动生成],device_id_1,device_id_2,...)其中device_id_1和类似命名的列是引用设备表或关系中的device_is的外键。
系统与设备之间存在一对多关系。
现在我无法弄清楚如何进行上述映射,其中一个表具有可变数量的属性。
答案 0 :(得分:0)
您应该将其设计为正常的一对多关系。所以,
您的 devices
表格会:
device_id
(PK)in_office_since
assigned_to
system_id
(引用systems
表的FK,如果给定设备不属于任何系统,则可以为NULL)和您的 systems
表:
system_id
(PK)这样,您可以拥有由任意数量的设备组成的系统。这是建立一对多关系的规范方法,使用Hibernate进行映射将是微不足道的。