title: Override @OneToMany targetEntity in subclass?
body: <p>Consider the following example:</p>
  
  <pre><code>public interface Bar {
  }
  
  @Entity
  @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
  public DefaultBar implements Bar {
  
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    private long id;
  
  }
  
  @Entity
  public class Foo {
  
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    private long id;
  
    @OneToMany(cascade = CascadeType.ALL, targetEntity = DefaultBar.class)
    @JoinColumn(name = "FOO_ID")
    private Collection&lt;Bar&gt; bars;
  
    public Collection&lt;Bar&gt; getBars() {
      return bars;
    }
  }
  </code></pre>
  
  <p>That'll work all right. BUT - suppose I'll make a subclass of Foo; say FooFoo. And I want the "bars" association to point to a new implementation of Bar too. Say:</p>
  
  <pre><code>@Entity
  public NewBar extends DefaultBar {
  
  }
  </code></pre>
  
  <p>And now I would like to annotate FooFoo so it sets the target entity of the "bars" field to the NewBar class.</p>
  
  <pre><code>@Entity
  @AssociationOverride(name="bars", ???????)
  public class FooFoo extends Foo {
  
  }
  </code></pre>
  
  <p>I noticed the annotation @AssociationOverride, but at first sight it doesn't allow the target entity to be overriden. Or does it ?</p>