title: orphan removal is not working properly
body: <p>I have an one-to-many collection annotated as following</p>
  
  <pre><code>@Entity
  @Table(name = "students")
  public class Student {
      @OneToMany(mappedBy = "student", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
      @OrderColumn(name ="index")
      private List&lt;Preference&gt; preferences;
  }
  </code></pre>
  
  <p>Preference entity</p>
  
  <pre><code>@Entity
  @Table(name = "preferences")
  public class Preference {
      // id
      @ManyToOne
      @JoinColumn(name = "student_id")
      private Student student;
  
      @ManyToOne
      @JoinColumn(name = "project_id")
      private Project project;
      private Integer index;
  }
  </code></pre>
  
  <p>I try to remove an element from the list like this:</p>
  
  <pre><code>public void removePreference(Preference preference) {
      preferences.remove(preference);
      preference.setStudent(null);
  }
  </code></pre>
  
  <p>The above code is not working, the entity is not removed from the table. How can i achieve this?</p>