Hibernate: usado mappedBy na classe que estende outra classe anotada como JoinSubclass?
O seguinte não funciona:
@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 {
}
Causa uma exceção como tal: org.hibernate.AnnotationException: mappedBy faz referência a uma propriedade desconhecida da entidade de destino: B.user no Proprietári
Estou tentando evitar copiar a propriedade "owner" para a classe B (que consequentemente "desnormaliza" e copia a chave do proprietário nas duas tabelas geradas para as entidades A e B). Além disso, eu realmente gostaria de ter A e B em uma tabela separada e não precisar usar um discriminador usando a herança SingleTable.
Além disso, não consigo descobrir como fazer algo semelhante usando @ OneToOne entre A e B (e não tendo B estendido A