title: Doctrine fetch EAGER in many-to-many association
body: <p>Using Symfony 3.2 and Doctrine 2.5, I have trouble to understand how fetch "EAGER" should work in many-to-many and many-to-one relationship.</p>
  
  <p>Lets say we have two entities, User and Site, and a many-to-many association:</p>
  
  <pre><code>class User
  {
      /**
       * @ORM\ManyToMany(targetEntity="Site", inversedBy="users", fetch="EAGER")
       * @ORM\JoinTable(name="user_site")
       */
      private $sites;
  }
  
  class Site
  {
      /**
       * @ORM\ManyToMany(targetEntity="User", mappedBy="sites")
       */
      private $users;
  }
  </code></pre>
  
  <p>In my controller, i simply call</p>
  
  <pre><code> $users = $this-&gt;getDoctrine()-&gt;getRepository('CoreBundle:User')-&gt;findAll();
  </code></pre>
  
  <p>I want to see only 1 query on the User table with a join on the Site table, but i get N+1 queries. I have also did some tests with many-to-one associations and get the same result. </p>
  
  <p>I know that i can do the join by myself using DQL, but i want to understand how fetch "EAGER" does work. </p>
  
  <p>What is the expected behavior with fetch "EAGER" on many-to-many and many-to-one associations ?</p>