3

假设我有:

//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 是否知道将狗和猫放在它们相应的表中(或使用任何继承映射策略)。查询时也知道如何取回吗?

4

1 回答 1

2

简短的回答是肯定的。但是原生 hibernate 对继承映射的支持比标准 JPA 更强大,并且“每个类层次结构一个表”或“每个子类一个表”映射策略比“每个具体类一个表”策略更适合多态查询和关联。

也可以看看:

于 2013-03-21T16:04:02.307 回答