2015-05-29 33 views
2

我知道模型不应该是这样,但我必须这样做。 我有3个实体与列:学说:与不同列的2个协会作为编号

  • 类别
    • ID(@id)
    • 的categoryId
    • ...
  • 产品
    • id(@id)
    • 类别ID
    • ...
  • 所有者
    • ID(@id)
    • ...

我做了一个多对多的关联类别和所有者之间(使用连接表)。我使用两列id与连接表进行连接。 (这工作)

现在我想做类别和产品之间的OneToMany关系。但链接它们的方法是categoryId。

当Category.categoryId不是主键时它不起作用: 被引用的列名'categoryId'必须是目标实体类'Catgeory'上的主键列。

如果我把Category.categoryId作为主键(所以2主键带ID),我有一个manytomany关系的问题: 多对多表'JOINTABLE'的连接列必须包含源实体'Category'的ALL标识符列,但是'categoryId'缺失。

我该怎么办?

注解上分类: 有关产品:

@ORM \一对多(targetEntity = “产品”,的mappedBy = “类别”)

对于所有者:

@ORM \多对多(targetEntity = “所有者”) @ORM \ JoinTable(NAME = “JOINTABLE”, ... )

PS:我不能编辑表

回答