Doctrina unidireccional unidireccional

En Symfony 3 con Doctrine, estoy tratando de obtener una relación unidireccional uno a uno con ambas tablas compartiendo la misma clave principal de trabajo. Para hacerlo, estoy tratando de replicar el ejemplo en elMapeo de la Asociación de Doctrina página.

Sin embargo, la documentación uni-one-to-one no tiene ejemplos de establecedores y captadores, y tampoco hay una definición del campo id en la entidad objetivo. Así que intenté experimentar a mi alrededor.

Estas son mis entidades:

class Country
{

    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", precision=0, scale=0, nullable=false, unique=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @ORM\OneToOne(targetEntity="MySubEntity", cascade={"persist", "remove"})
     * @ORM\JoinColumn(name="id", referencedColumnName="id", nullable=true)
     */
    private $mysubentity;
    [...]
    /**
     * @return MySubEntity
     */
    public function getMySubEntity()
    {
        return $this->mysubentity;
    }

    /**
     * @param MySubEntity $mysubentity
     */
    public function setMySubEntity($mysubentity)
    {
        $this->mysubentity = $mysubentity;
    }
}

class MySubEntity
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", precision=0, scale=0, nullable=false, unique=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    [..]

    /**
     * Set id
     *
     * @param $id
     *
     * @return MySubEntity
     */
    public function setId($id)
    {
        $this->id = $id;

        return $this;
    }

    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }
}

Cuando persisto en la entidad del país, reciboIntegrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails. Al inspeccionar los datos, puedo ver que Doctrine intentó establecer la identificación de MySubEntity en 0.

¿Alguien tiene una idea de lo que debo hacer para que el campo MySubEntity $ id se complete automáticamente desde la entidad Country?

Respuestas a la pregunta(1)

Su respuesta a la pregunta