【发布时间】:2014-05-10 17:33:53
【问题描述】:
我有这个奇怪的层次结构:
- 类
A是抽象的(但它是一个实体) -
B类(抽象)和 C 类都扩展了A类(TABLE_PER_CLASS)。 -
B类也由D和E类扩展,但这次它已加入。
我希望 A 类的 ID 成为所有其他类的 ID。
这个可以吗?
我收到奇怪的 ID 错误。谁能告诉我如何映射?
我就是这样做的:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class A {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
protected Integer id;
}
C类:
@Entity
@Table(name = "managers")
public class C extends A {
B类:
@Entity
@Table(name = "bb")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "discriminator", discriminatorType = DiscriminatorType.STRING)
public abstract class B extends A {
C、D 类:
@Entity
@Table(name = "cc"/"dd")
@DiscriminatorValue("CC"/"DD")
public class C (or D) extends B {
【问题讨论】: