Возможно использование одного и того же объекта в OneToMany и OneToOne?

Я пытаюсь сохранить несколько адресов в одном объекте клиента.

Эта часть проста, так как это просто простая двунаправленная связь ManyToOne / OneToMany.

Взгляните на наш простой код, но обратите внимание на вопрос, который я задаю, с дополнительной ассоциацией OneToOne, которую я пытаюсь сделать для клиента для primary_address

class Address { /** * @ORM\Column */ protected $address_text; /** * @ORM\ManyToOne(targetEntity="Customer", inversedBy="addresses") */ protected $customer; } class Customer { /** * @ORM\OneToMany(targetEntity="Address", mappedBy="customer") */ protected $addresses; /** * @ORM\OneToOne(targetEntity="Address") */ protected $primary_address; } 

Таким образом, каждый объект-клиент должен иметь возможность связать с ним несколько связанных с ним Адреса, но у объекта-клиента также должен быть только один из них – Первичный адрес.

Как это возможно? Есть ли элегантные решения?