title: JSON serialization with relation and @JsonIdentityInfo
body: <p>I have two classes:</p>
  
  <pre><code>@Entity
  @JsonIdentityInfo(
      generator = ObjectIdGenerators.PropertyGenerator.class,
      property = "id")
  public class Client extends AbstractEntity {
  
      ...
  
      @OneToMany(mappedBy = "client", fetch = FetchType.EAGER)
      @Cascade(org.hibernate.annotations.CascadeType.PERSIST)
      private Set&lt;Patient&gt; patients = new HashSet&lt;&gt;();
  </code></pre>
  
  <p>And:</p>
  
  <pre><code>@Entity
  @JsonIdentityInfo(
      generator = ObjectIdGenerators.PropertyGenerator.class,
      property = "id")
   public class Patient extends AbstractLastOpenedDateEntity implements Serializable {
  
      ...
  
      @ManyToOne(fetch = FetchType.EAGER)
      @JoinColumn(name = "client_id")
      @Cascade(org.hibernate.annotations.CascadeType.ALL)
      private Client client;
  </code></pre>
  
  <p>Let say that I have a patient list:
  -patient A (from client 1)
  -patient B (from client 1)
  -patient C (from client 2)
  What I would like when I serialize it using Jackson:</p>
  
  <pre><code>[
     { id: A, client: { id: 1, patients: [A,B]}  },
     { id: B, client: { id: 1, patients: [A,B]}  },
     { id: C, client: { id: 2, patients: [C]}  },
  ]
  </code></pre>
  
  <p>But here is what I get:</p>
  
  <pre><code>[
     { id: A, client: { id: 1, patients: [ A , { id: B, client: { id: 1, patients: [A,B]}]}  },
     B,
     { id: C, client: { id: 2, patients: [C]}  },
  ]
  </code></pre>
  
  <p>It seems that Jackson do a "full serialization" only the first time and then it do a "short serialization" (id). 
  What I would like to have to have full serialization with priorities for "root" json level.</p>
  
  <p>Thanks!</p>