title: @OneToOne or @ManyToOne on x.person references an unknown entity: y.Person - inheritance issue
body: <p>i've got a problem with my Hibernate Architecture:</p>
  
  <p>I have a MappedSuperClass Person, and an Employee and a Customer.</p>
  
  <pre><code>--&gt; Person.class
  @MappedSuperclass
  @Audited
  public class Person extends PersistentObject {
  
      @Column(name="TITLE")
      @Enumerated(EnumType.STRING)
      private Title title;
  
      @Column(name="FIRST_NAME")
      private String  fname       = null;
  
      @Column(name="LAST_NAME")
      private String  lname       = null;
  
  --&gt; Employee.class
  @Entity
  @Table(name="TBL_EMPLOYEE")
  @Audited
  public class Employee extends Person {
  
  --&gt; Customer.class
  @Entity
  @Table(name="TBL_CUSTOMER")
  @Audited
  public class Customer extends Person {
  </code></pre>
  
  <p>This works well, but now to my Problem: I've extended 'Person' with an List of Items, eg Addresses/Contact Informations/etc, and use a Single Table for all Items of the same Type (all Addresses).</p>
  
  <p>When adding the Address to Customer only, this is no problem:</p>
  
  <pre><code>--&gt; Customer.java
  @OneToMany(cascade = {CascadeType.ALL}, mappedBy="customer")
  @LazyCollection(LazyCollectionOption.FALSE)
  private List&lt;Address&gt; addresses = null;
  
  --&gt; Address.java
  @Entity
  @Table(name="TBL_ADDRESSES")
  @Audited
  public class Address extends PersistentObject {
      @ManyToOne(fetch=FetchType.LAZY)
      @JoinColumn(name="CUSTOMER_ID")
      private Customer customer;
  </code></pre>
  
  <p>Now i'd like to extend the addresses to the Employee also. I thought, that i could use the Supertype to hold the address, but this doesn't seem to work right:</p>
  
  <pre><code>--&gt; Person.java
  @OneToMany(cascade = {CascadeType.ALL}, mappedBy="person")
  @LazyCollection(LazyCollectionOption.FALSE)
  private List&lt;Address&gt; addresses = null;
  
  --&gt; Address.java
  @Entity
  @Table(name="TBL_ADDRESSES")
  @Audited
  public class Address extends PersistentObject {
      @ManyToOne(fetch=FetchType.LAZY)
      @JoinColumn(name="PERSON_ID")
      private Person person;
  </code></pre>
  
  <p>When running, i get the following error: <code>@OneToOne or @ManyToOne on at.test.Address.person references an unknown entity: at.test.Person</code></p>
  
  <p>Is there a possibility to have both entities use the same table for their addresses? IDs wont conflict, because Employee and Customer share the same sequence. Or should i design this problem in another way?</p>
  
  <p>Thank you very much in advance and best regards!</p>