我正在寻找有关如何映射使用联接表的OneToMany / ManyToOne关系的建议。我没有进行映射,并且收到错误消息,未在媒体表中设置article_id。
class Media
{
// ...
/**
* @ManyToOne(targetEntity="Document", inversedBy="media")
* @JoinTable(name="articles_x_media", referencedColumnName="id")
* joinColumns={@JoinColumn(name="media_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="bid_id", referencedColumnName="id")})
* )
*/
protected $document;
}
class Document
{
// ...
/**
* @OneToMany(targetEntity="Media", mappedBy="document"))
* @JoinTable(name="articles_x_media", referencedColumnName="id")
* joinColumns={@JoinColumn(name="article_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="media_id", referencedColumnName="id")}
* )
*/
protected $media;
}
Run Code Online (Sandbox Code Playgroud)
文档中有一段关于OneToMany使用join table进行映射的特定段落。
无论如何,您可能想要的是单向ManyToMany关联。
另外,@OneToMany不附带,两者均@JoinTable相同@ManyToOne。
| 归档时间: |
|
| 查看次数: |
6707 次 |
| 最近记录: |