title: Merge doesn't cascade persist
body: <p>Say I have a parent, a child and a child of the child and I need to save the whole hierarchy.</p>
  
  <pre><code>@Entity
  @Data
  class Parent{
      @Id
      @GeneratedValue
      private Long id;
  
      @OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL}, orphanRemoval = true)
      public Set&lt;Child&gt; childs = new HashSet&lt;&gt;();
  }
  </code></pre>
  
  <pre><code>@Entity
  @Data
  class Child{
      @Id
      @GeneratedValue
      private Long id;
  
      @OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL}, orphanRemoval = true)
      public Set&lt;ChildOfChild&gt; childsOfChild = new HashSet&lt;&gt;();
  }
  </code></pre>
  
  <pre><code>@Entity
  @Data
  class ChildOfChild{
      @Id
      @GeneratedValue
      private Long id;
  }
  </code></pre>
  
  <p>If I create the hierarchy and call persist on the parent, the PERSIST operation does cascade to the children as intended.</p>
  
  <pre class="lang-java prettyprint-override"><code>Parent parent = new Parent();
  Child child = new Child(); 
  ChildOfChild childOfChild = new ChildOfChild();
  child.getChildsOfChild().add(childOfChild);
  parent.getChilds().add(child);
  </code></pre>
  
  <p>If I retrieve an existing parent, change its children, and then call merge. The PERSIST operation is not cascaded to its children.</p>
  
  <pre><code>parent=findById(id);
  Child child = new Child(); 
  ChildOfChild childOfChild = new ChildOfChild();
  child.getChildsOfChild().add(childOfChild);
  parent.getChilds().add(child);
  </code></pre>
  
  <p>Is it normal? How should I cascade persist during a merge operation?</p>