Hibernate: Использовал mappedBy для класса, который расширяет другой класс, аннотированный как JoinedSubclass?

Следующее не работает:

@Entity
class Owner {

  @OneToMany(mappedBy="owner", cascade = {CascadeType.ALL})
  protected Set<B> getBSet() {
    ..
  }

}

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
class A {
   @ManyToOne
   public Owner getOwner() {
     ...
   }
}

@Entity
class B extends A {

}

Это вызывает исключение как таковое: org.hibernate.AnnotationException: mappedBy ссылается на неизвестное целевое свойство объекта: B.user в Owner.

Я пытаюсь избежать копирования свойства "владельца" в класс B (который, следовательно, "денормализует" и скопирует ключ владельца в обе таблицы, созданные для объектов A и B). Кроме того, я действительно хотел бы иметь A и B в отдельной таблице и не использовать дискриминатор при использовании наследования SingleTable.

Кроме того, я не могу понять, как сделать нечто подобное, используя @OneToOne между A и B (и не имея B, расширяющего A).

Ответы на вопрос(3)

Ваш ответ на вопрос