inversedByとmappedByの違いは何ですか? 質問する

inversedByとmappedByの違いは何ですか? 質問する

私は 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 関連の所有側は、外部キーを含むテーブルを持つエンティティです。

見るhttps://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/unitofwork-associations.html

おすすめ記事