6

結合テーブルを使用する 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;
}
4

1 に答える 1

10

OneToManyjoin table を使用したマッピングに関するドキュメントに特定の段落があります。

とにかく、おそらくあなたが望むのは一方向のManyToMany関連付けです。

また、@OneToManyは付属しません。どちらでも@JoinTable同じです。@ManyToOne

于 2013-03-16T02:10:46.147 に答える