title: JPA OneToMany collection returned as Empty
body: <p>Doing a lookup of a previously saved 1-to-many entity. Entitles are:</p>
  
  <p>Book.java:</p>
  
  <pre><code>@Entity
  @Table(name = "Book")
  public class Book {
  
      @Id
      @GeneratedValue
      @Column(name = "id")
      private Long id;
  
      @OneToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL, mappedBy="book", orphanRemoval=true)
      private Collection&lt;Author&gt; authors;
  
      public Collection&lt;Author&gt; getAuthors() {
          return authors;
      }
          ...
  
          @Override
      public String toString() {
          return "Book [id=" + id + ", authors=" + authors + ", title=" + title
                  + ", isbn=" + isbn + "]";
      }
  }
  </code></pre>
  
  <p>Author.java:</p>
  
  <pre><code>@Entity
  @Table(name = "Authors")
  public class Author {
  
      @Id
      @GeneratedValue
      @Column(name="id")
      private Long id;
  
      @ManyToOne(fetch=FetchType.LAZY)
      @JoinColumn(name="book_id")
      private Book book;
  
          ...
  
      @Override
      public String toString() {
           return "Author [id=" + id + ", book=" + book + ", firstName="
              + firstName + ", lastName=" + lastName + "]";
      }
  }
  </code></pre>
  
  <p>Ignoring the dubious cardinality of the data model, the lookup code is</p>
  
  <pre><code>long bookID = 10; // saved entity ID
  entityManager.getTransaction().begin();
  Book savedBook = entityManager.find(Book.class, bookID);
  System.out.println("Book " + savedBook);
  entityManager.getTransaction().commit();
  </code></pre>
  
  <p>which gives the output</p>
  
  <pre><code>Book Book [id=10, authors=[], title=Treasure Island, isbn=123456]
  </code></pre>
  
  <p>Any ideas why authors is empty?</p>
  
  <hr>
  
  <pre><code>Retrieving 11...
  
  Exception in thread "main" java.lang.StackOverflowError
      at java.lang.Long.toString(Long.java:240)
      at java.lang.Long.toString(Long.java:100)
      at java.lang.String.valueOf(String.java:2946)
      at java.lang.Long.toString(Long.java:733)
      at java.lang.String.valueOf(String.java:2827)
      at java.lang.StringBuilder.append(StringBuilder.java:115)
      at org.hibstore.domain.Book.toString(Book.java:64)
      at java.lang.String.valueOf(String.java:2827)
      at java.lang.StringBuilder.append(StringBuilder.java:115)
      at org.hibstore.domain.Author.toString(Author.java:67)
      at java.lang.String.valueOf(String.java:2827)
      at java.lang.StringBuilder.append(StringBuilder.java:115)
      at java.util.AbstractCollection.toString(AbstractCollection.java:422)
      at org.hibernate.collection.internal.PersistentBag.toString(PersistentBag.java:501)
      at java.lang.String.valueOf(String.java:2827)
      at java.lang.StringBuilder.append(StringBuilder.java:115)
      at org.hibstore.domain.Book.toString(Book.java:64)
      at java.lang.String.valueOf(String.java:2827)
  </code></pre>