Was ist der Unterschied zwischen inversedBy und mappedBy?

Ich entwickle meine Anwendung mit Zend Framework 2 und Doctrine 2.

Während ich Anmerkungen schreibe, kann ich den Unterschied zwischen nicht verstehenmappedBy undinversedBy.

Wann soll ich verwendenmappedBy?

Wann soll ich verwendeninversedBy?

Wann sollte ich keine verwenden?

Hier ist ein Beispiel:

 /**
 *
 * @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;

Ich habe eine schnelle Suche durchgeführt und Folgendes gefunden, bin aber immer noch verwirrt:

Beispiel 1Beispiel 2Beispiel 3

Antworten auf die Frage(4)

Ihre Antwort auf die Frage