我正在尝试使用OpenJPA复制hibernate的行为,我试过类似的东西:
超类:
@Entity
@Table(name = "A")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "TYPE")
@DiscriminatorValue("A")
public class A{...
亚类:
@Entity
@DiscriminatorValue("A")
public class B extends A{..
导致异常表明两个类不能具有相同的鉴别器。
仅使用Annotations是否有解决方案?
答案 0 :(得分:1)
所以你要说的是你想要持久化A
类型的对象和类型为B
的对象,当它们被检索时,它们被实例化为类型{{的实例1}?所以A
将不再是B
!!
我找不到任何会被视为好主意的情况。任何强制所有具体类型具有不同鉴别值的JPA实现都在做正确的事情。因此,我们可以得出结论B
行为是应该的,并且“解决它”是一个坏主意。