JPA具有两个实现类的同一个表

JPA具有两个实现类的同一个表,jpa,Jpa,我有一个实体产品,其中包含另一个实体类别 public class Product implements Serializable { ... private Category category; } 然而,移动产品需要一种特殊的类别 public class MobileProduct extends Product implements Serializable { ... private MobileCategory mobileCategory; }

我有一个实体
产品
,其中包含另一个实体
类别

public class Product implements Serializable {
    ...
    private Category category;
}
然而,移动产品需要一种特殊的类别

public class MobileProduct extends Product implements Serializable {
    ...
    private MobileCategory mobileCategory;
}
MobileCategory
继承
Category
是有意义的,因为在这种情况下,产品不需要两个类,但如果您想使用
MobileCategory
属性创建查询,JPA可能不允许这样做。如果选择具有继承关系的两个类,则使用的是具有完全相同属性但具有两个实现类的完全相同的表


我应该选择哪种方法?

你知道JPA对继承策略和多态查询的支持吗?Hi kistja,我知道JPA中有多态查询,但这是否意味着我可以使用仅存在于子类中的属性来查询超类?