doctrine2 carrega associações um-para-muitos com o modo de busca ansioso usando muitas consultas SQL

Estou carregando uma lista de muitas entidades.
Essas entidades têm uma associação um-para-muitos com outras entidade
uero carregar todas essas outras entidades em uma única consulta SQL (em vez de uma consulta para todas as entidades da primeira lista

Conforme descrito na documentação do doutrina2:http: //www.doctrine-project.org/docs/orm/2.1/en/reference/dql-doctrine-query-language.html#temporariamente-change-fetch-mode-in-dq isso deve ser possível com o carregamento "EAGER"

mas não funciona como descrit

my code:

class User{
    /**
     * @ORM\OneToMany(targetEntity="Address", mappedBy="user", indexBy="id", fetch="EAGER")
     */
    protected $addresses;
    public function __construct(){
        $this->addresses = new ArrayCollection();
    }
}

class Address{
    /**
     * @ORM\ManyToOne(targetEntity="User", inversedBy="addresses")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="UserId", referencedColumnName="id")
     * })
     */
    private $user;
}

class UserRepository{
    public function findUsersWithAddresses(){
        return $this->getEntityManager()
            ->createQuery('SELECT u FROM MyBundle:User u ORDER BY u.name ASC')
            ->setFetchMode('MyBundle\Entity\User', 'addresses', \Doctrine\ORM\Mapping\ClassMetadata::FETCH_EAGER)
            ->setMaxResults(10)
            ->getResult();
    }
}

O método UserRepository :: findUsersWithAddresses () executa 11 consultas SQL.

Como posso dizer ao Doctrine para usar apenas uma Consulta SQL para carregar as entidades de endereç

Estou usando

symfony v2.0.9 doutrina-comum 2.1.4 doctrine-dbal 2.1.5doctrine 2.1.5

questionAnswers(6)

yourAnswerToTheQuestion