更改继承策略

时间:2017-08-24 15:14:53

标签: java hibernate jpa

假设我有一个带有一些数据的A类

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class A {
  @Id
  @Column
  int id;
  @Column
  String name;
}

现在我想改变子类的策略

@Entity
public class B extends A {
  @Column
  String extraFieldFromB;
}

@Entity
public class C extends B {
  @Column
  String extraFieldFromC;
}

问题是我真正问题的简化。我想知道我是否可以在B类上使用不同的策略(理想情况是JOINED,但可以接受SINGLE_TABLE)。我知道A的策略选择错误,但现在改变它的工作太多了。我只能为A的后代(这几乎是我项目中的每个班级)做正确的事情。

当我尝试在B中包含JOINED继承时,hibernate错误指向我在C表中缺少A的字段。它甚至可能是我想要实现的吗?

提前致谢。

0 个答案:

没有答案