我知道这个模型应该是这样但我必须这样做。 我有3个带列的实体:
我在类别和所有者之间做了很多关联(使用连接表)。我使用两列id连接到连接表。 (这有效)
现在我想在类别和产品之间建立OneToMany关系。但链接它们的重要方法是categoryId。
当Category.categoryId不是主键时,它不起作用: 引用的列名称' categoryId'必须是目标实体类' Catgeory'。
的主键列如果我把Category.categoryId作为主键(所以2个主键带有id),我就会遇到很多关系问题: 多对多表格的连接列' JOINTABLE'必须包含源实体的所有标识符列'类别'但是' categoryId'不见了。
我该怎么办?
类别注释: 对于产品:
@ORM \ OneToMany(targetEntity =" Product",mappedBy =" category")
对于所有者:
@ORM \多对多(targetEntity ="所有者&#34) @ORM \ JoinTable(名称=" JOINTABLE&#34 ;, ... )
PS:我不允许编辑表格
答案 0 :(得分:0)
看起来这个没有解决方案。我有同样的问题,无法找到解决方法。
见http://www.doctrine-project.org/jira/browse/DDC-1114。它被关闭,因为它是无效的用法。