假设我有两个对象:
Agency
和Publisher
,它们都与Employee
存在1对n的关系。这是真正的1对n关系,因为每个Employee
只能为一个Agency
或一个Publisher
工作。进一步假设我不能引入超类型(例如Employer
),以保存1对n关系。我的首选解决方案是在
Employee
中有一个外键,可以链接到Agency
或Publisher
的主键(我的所有主键都是64位ID,在整个数据库中是唯一的)。但是,现在我将无法映射双向关联,除非在Employee
中指示这是Agency
还是Publisher
关系。我另一个选择是使用两个表
AgencyEmployee
和PublisherEmployee
,然后将它们作为传统的1对n双向关联连接起来。在这种情况下,您认为哪种方式是最佳实践?
更新:感谢在如此短的时间内提供了如此出色的回复!您认为以下解决方案如何:在
Employee
中为Agency
和Publisher
分别设置外键,例如agency_id
和publisher_id
?