title: Spring data findAll() does not fetch eagerly
body: <p>I have two entities with unidirectional <code>one to many</code> relationship.</p>
  
  <pre><code>@Entity
  public class Basket {
  
      @Id
      @GeneratedValue
      private Long id;
  
      private int capacity;
  }
  
  @Entity
  public class Item {
  
      @Id
      @GeneratedValue
      private Long id;
  
      private String name;
  
      @ManyToOne
      private Basket basket;
  }
  </code></pre>
  
  <p>I save couple of objects:</p>
  
  <pre><code>    Basket basket1 = new Basket(100);
      Basket basket2 = new Basket(200);
      Basket basket3 = new Basket(300);
      basketRepository.save(asList(basket1, basket2, basket3));
  
      Item item1 = new Item("item1", basket1);
      Item item11 = new Item("item11", basket1);
      Item item2 = new Item("item2", basket2);
      Item item22 = new Item("item22", basket2);
      Item item3 = new Item("item3", basket3);
      Item item33 = new Item("item33", basket3);
      itemRepository.save(asList(item1, item11, item2, item22, item3, item33));
  
      // Loading one item. Basket fetched eagerly.
      itemRepository.findOne(1L);
  
      // Loading many items. Baskets are not loaded (n+1 select problem).
      itemRepository.findAll();
  </code></pre>
  
  <p><code>@ManyToOne</code> annotation uses <code>eager fetch</code> by default.
  When I load one <code>Item</code> using <code>findOne()</code>, Hibernate generates query with <code>left outer join</code> and <code>Basket</code> is fetched in the same query.
  However when I use <code>findAll()</code>, Hibernate first fetches all <code>Items</code> and then executes <code>N selects</code> (one per each <code>Basket</code>), so that it leads to <code>(n+1) select problem</code>. Why Hiberante doesn't eagerly fetch <code>Basket</code> objects with <code>findAll()</code> method and how to fix this?</p>