我的类结构如下所示...我在这里实现了两个单独的策略,但根类的继承策略(即 InheritanceType.JOINED )正在整个层次结构中使用...
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "typeName", discriminatorType = DiscriminatorType.STRING, length = 100)
@Table(name="table_A")
public abstract class A{
...
}
@Entity
@Table(name = "table_B")
@PrimaryKeyJoinColumn(name = "ID_B")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorValue("SVC")
public abstract class B extends A {
...
}
@Entity
@DiscriminatorValue("C")
public class C extends B {
...
}
@Entity
@DiscriminatorValue("D")
public class D extends B {
...
}
当我创建“D”的实例并尝试保留它时,hibernate 正在寻找名为“D”的表......
我发现有几个人问同样的问题...但答案对我没有帮助...
混合连接和单表继承以及查询所有对象 https://stackoverflow.com/q/8494367/926120- 同样的问题..
如何将继承策略与 JPA 注解和 Hibernate 混合使用? https://stackoverflow.com/q/3915026/926120- 将 single_table 与 join 混合在一起..这对我的情况没有帮助..
JPA 规范不允许您在继承树中混合策略;它要求您在根实体中设置继承策略。 JDO 是唯一允许混合策略的规范。您可能会找到允许这样做的 JPA 实现,但它是不可移植的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)