假设我有:
//inheritance annotations
public abstract class Animal {
private int noOfLegs;
//...
}
//inheritance annotations
public class Cat extends Animal {
//cat stuff
}
//inheritance annotations
public class Dog extends Animal {
//dog stuff
}
@Entity
public class House {
@OneToMany
@JoinTable(//join stuff
private List<Animal> animals;
//hose stuff
}
现在,如果我把猫和狗放在我的房子里,并坚持我的房子,JPA是否知道将狗和猫放在相应的表中(或者使用任何继承映射策略)。它也知道如何在查询时取回它吗?
答案 0 :(得分:2)
简短的回答是肯定的。但是关于继承映射的本机hibernate支持比标准JPA更强大,并且“每个类的单个表”或“每个子类的表”映射策略比“每个具体类的表”策略更适合于多态查询和关联。
另见: