私は Zend Framework 2 と Doctrine 2 を使用してアプリケーションを開発しています。
mappedBy
注釈を書いているときに、との違いがわかりませんinversedBy
。
いつ使用すればよいですかmappedBy
?
いつ使用すればよいですかinversedBy
?
どちらも使用しないほうがよいのはどのような場合ですか?
次に例を示します。
/**
*
* @ORM\OneToOne(targetEntity="\custMod\Entity\Person", mappedBy="customer")
* @ORM\JoinColumn(name="personID", referencedColumnName="id")
*/
protected $person;
/**
*
* @ORM\OneToOne(targetEntity="\Auth\Entity\User")
* @ORM\JoinColumn(name="userID", referencedColumnName="id")
*/
protected $user;
/**
*
* @ORM\ManyToOne (targetEntity="\custMod\Entity\Company", inversedBy="customer")
* @ORM\JoinColumn (name="companyID", referencedColumnName="id")
*/
protected $company;
簡単に検索して次のものを見つけましたが、まだ混乱しています。
ベストアンサー1
- マッピング指定する必要があります逆側(双方向)関連の
- 逆順指定する必要があります所有側(双方向)関連の
教義文書より:
- ManyToOne は常に双方向の関連付けの所有側になります。
- OneToMany は常に双方向関連の逆側になります。
- OneToOne 関連の所有側は、外部キーを含むテーブルを持つエンティティです。