Hibernate: ¿Usó mappedBy en la clase que extiende otra clase anotada como JoinedSubclass?
Lo siguiente no 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 {
}
Provoca una excepción como tal: org.hibernate.AnnotationException: mappedPor referencia a una propiedad de entidad de destino desconocida: B.user en Propietario.
Estoy tratando de evitar copiar la propiedad "propietario" en la clase B (que, en consecuencia, se "desnormalizará" y copiará la clave del propietario en ambas tablas generadas para las entidades A y B). Además, realmente me gustaría tener A y B en una tabla separada y no tener que usar un discriminador mediante el uso de la herencia SingleTable.
Además, no puedo entender cómo hacer algo similar usando @OneToOne entre A y B (y sin que B extienda A).