使用没有表的抽象类来保持层次结构的最佳方法是什么

时间:2014-07-09 18:18:18

标签: java hibernate jpa persistence

我有一个简单的继承模型:

public abstract class Base {
    int id;
    string name;
}

public class Derived1 extends Base {
   int valueD1;
}

public class Derived2 extends Base {
   int valueD2;
}

我应该如何映射这些类(使用JPA注释),以便为Derived1和Derived2(每个具体类的表)和没有表提供单独的表。

我应该使用@MappedSuperclass,还是@Embeddable(并跳过继承)或@Inheritance?

1 个答案:

答案 0 :(得分:0)

使用@MappedSuperclass,并为每个实体定义不同的表,恕我直言,

但这取决于您是否最有可能查询父类,或者您是否自己使用这两个派生实体,而无需查询两个表。