title: Hibernate cascade remove ConstraintViolationException
body: <p>It seems the situation is simply (but it does not work).
  Db part (<code>EVENT_ID</code> is foreign key. <code>FK_RR_E_CI</code> constraint references on <code>EVENT</code> table)</p>
  
  <pre><code> |-------|            |----------------|
   | EVENT | 1 ------ ∞ | RECURRENT_RULE |
   |-------|            |----------------|
   | ID    |            | ID             |
   |-------|            | EVENT_ID       |
                        |----------------|
  </code></pre>
  
  <p>Java part:</p>
  
  <pre><code>@Entity
  public class Event {
    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "event")
    private Set&lt;RecurrentRule&gt; recurrentRules = new HashSet&lt;&gt;();
  }
  
  @Entity
  public class RecurrentRule {
    @ManyToOne
    @JoinColumn(columnDefinition = "event_id")
    private Event event;
  }
  </code></pre>
  
  <p>If I try to delete event object It will return:</p>
  
  <pre><code>could not execute statement; SQL [n/a]; constraint [MY_SCHEMA.FK_RR_E_CI]; 
  nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
  ...
  java.sql.SQLIntegrityConstraintViolationException: ORA-02292: integrity constraint (MY_SCHEMA.FK_RR_E_CI) violated - child record found
  </code></pre>
  
  <p><code>SAVE</code> and <code>UPDATE</code> operations work correctly.</p>
  
  <hr>
  
  <p>What should I change in my mapping to be able use cascade removal?
  I know that I should use <code>@OnDelete(action=OnDeleteAction.CASCADE)</code> but I can't understand how to use it...</p>