Не работает следующее:
@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.
Я стараюсь не копировать свойство "owner" в класс B (что, следовательно, "денормализует" и скопирует ключ владельца в обе таблицы, созданные для объекта A и B). Кроме того, мне бы очень хотелось, чтобы A и B были в отдельной таблице, и не нужно использовать дискриминатор с использованием наследования SingleTable.
Кроме того, я не могу понять, как сделать нечто подобное, используя @OneToOne между A и B (и не имея B, расширяющего A).