getReference () de la doctrina Entity Manager

Situación:

Quiero usar elgetReference () función de doctrine2 entidad manager. Sin embargo, en una situación en la que pido un objeto que se ha eliminado de la base de datos, obtengo un proxy si pido ese mismo objeto más de una vez.

Un ejemplo:
//A random article object...that has been deleted from the database
$articleClass = 'Acme\ArticleBundle\Entity\Article';
$articleIdentifiers = array('id'=>1);
$i = 0;

//We ask for its reference twice
do{
    try {
        echo "a";
        $subject = $this->em->getReference(
            $subjectClass,
            $subjectIdentifiers
        );
       //call this object now
       var_dump($subject);

    } catch (\Exception $e) {
        echo "b";
    }
    $i++;
} while ($i <2);
La salida:
a
b
a
object(Proxies\__CG__\Acme\ArticleBundle\Entity\Article)

¿Cómo puedo obtener un proxy para un objeto que ni siquiera existe en la base de datos? Si comentoesta línea, el entityManager no gestiona el objeto y obtengo el resultadoabab, lo que para mí tiene más sentido, ya que no quiero obtener un objeto proxy que no existe en la base de datos. Para información, el objeto proxy devuelto tiene todas sus propiedades.null. Por lo tanto, obtengo un proxy para un objeto que no existe en la base de datos. Por lo tanto, si solicito este objeto, obtengo una excepción de "Entidad no encontrada".

El reto

¿Alguien puede tener algún sentido de esto? ¿Hay una manera de confiar engetReference() ¿Para decirnos si este objeto realmente existe en la base de datos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta