The following doesn't work:
@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 {
}
It causes an exception as such: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: B.user in Owner.
I am trying to avoid copying the "owner" property into class B (which will consequently "denormalize" and copy the owner key into both tables generated for entity A and B). Also, I would really like to have A and B in a separate table and not have to use a discriminator by using SingleTable inheritance.
Also, I can't figure out how to do something similar by using @OneToOne between A and B (and not having B extend A).