混合JPA继承的策略 - 与inheritanceType.SINGLE_TABLE inheritanceType.JOINED

我的阶级结构看起来像这样...我这里有正在实施两个不同的战略,但根类,即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'表......
我发现一对夫妇的人问同样的问题......但答案没有帮助我...

混合加入和单表继承和查询所有对象 - 同样的问题..
如何使用JPA注解混合策略的继承和Hibernate? - 混合SINGLE_TABLE与加盟..这是不是在我的案件有帮助的..

--------------解决方案-------------

JPA规范不允许混合在继承树战略; 它需要你设置继承策略根实体。 JDO是允许混合策略的唯一规范。 您可能会发现一个JPA实现,允许它,但它是不可移植

分类:java的 时间:2013-05-29 人气:1
本文关键词: Java中,休眠,JPA
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.254 (s). 9 q(s)