将数据与多对多关联关联

时间:2012-05-31 22:16:48

标签: doctrine-orm many-to-many

我有一个实体Person,其属性employers是集合(以及其他配置文件信息,如全名)。此外,我有一个实体Employers,其属性employers也是集合(以及一些一般信息,如名称)。这是一个多对多的双向关联(我希望雇主与雇员相关联,雇员与雇主相关联)。现在我想将一些数据与一个映射关联起来(例如工作岗位或雇用这个人时)。

最初的想法是创建一个扩展Employer并添加所需属性的类。但这是不可能的,因为它是双向关联。

其他想法是创建一个新实体,其中包含对PersonEmployer和所需属性(例如工作职位)的引用。在这个解决方案中,我目前看不出任何不利之处。

有没有更好的方法(换句话说,我错过了潜在的劣势)?

1 个答案:

答案 0 :(得分:0)

这个很多例子几乎都是教科书。您几乎肯定会分解为指向“链接表”的两个一对多关系。缺点是额外的连接,但大多数设计将在OLTP数据库中使用此模式。