Hibernate 层次结构中每个父级使用鉴别器的联合继承策略中的多级继承

Hibernate 层次结构中每个父级使用鉴别器的联合继承策略中的多级继承,hibernate,jpa,inheritance,discriminator,joined-subclass,Hibernate,Jpa,Inheritance,Discriminator,Joined Subclass,考虑一下我下面的课程 产品(抽象根类) 汽车(扩展产品的另一个父类) Speeder(扩展汽车等级的最后一个孩子) 当JPA使用鉴别器将我的对象模型映射到我的数据模型时,在单亲到子层次结构中使用鉴别器对我来说很好,鉴别器值已正确设置,但随着我添加另一层次结构,即Speeder extends Car extends Product(Speeder extends汽车扩展产品),鉴别器值或工作不正常 如果我仅在单个继承中使用鉴别器(例如,从子继承到父继承)使用联合继承,鉴别器值将正确映射到它们

考虑一下我下面的课程

产品(抽象根类)

汽车(扩展产品的另一个父类)

Speeder(扩展汽车等级的最后一个孩子)

当JPA使用鉴别器将我的对象模型映射到我的数据模型时,在单亲到子层次结构中使用鉴别器对我来说很好,鉴别器值已正确设置,但随着我添加另一层次结构,即Speeder extends Car extends Product(Speeder extends汽车扩展产品),鉴别器值或工作不正常


如果我仅在单个继承中使用鉴别器(例如,从子继承到父继承)使用联合继承,鉴别器值将正确映射到它们所尊重的列中,但现在我添加了另一个层次结构,Speeder的鉴别器值位于产品表的鉴别器列,而汽车表的鉴别器列保留为空值,我希望您能理解我在这里试图实现的目标,这可能吗?有什么解决办法吗?有这么多的例子,但我找不到一个确切的例子来说明更深层的层次结构,像这样的例子,但有更深层的层次结构,周围的例子只有简单的层次结构,与其他使用这种策略的例子几乎相同。任何帮助或启发都将不胜感激。

谢谢,有什么建议可以让这种设计成为可能吗?如果不可能,请提供任何建议?谢谢
@Entity
@Table(name="PRODUCT")
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="PRODUCT_TYPE")
public abstract class Product {

    @Id
    @GeneratedValue
    @Column(name = "product_ent_id", insertable = false)
    private int productEntId;
}
@Entity
@Table(name="CAR")
@DiscriminatorValue(value="Car") 
@PrimaryKeyJoinColumn(name="car_ent_id") 
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="CAR_TYPE") 
public abstract class Car extends Product {

    @Column(name = "car_ent_id", insertable = false, updatable = false)
    private int carEntId;
}
@Entity
@Table(name="SPEEDER")
@DiscriminatorValue(value="Speeder") 
@PrimaryKeyJoinColumn(name="speeder_ent_id")
public class Speeder extends Car {

    @Column(name = "speeder_ent_id", insertable = false, updatable = false)
    private int speederEntId;
}