JPA扩展实体类 - 未找到父键

时间:2015-12-12 13:29:31

标签: java oracle jpa mapping

我有JPA映射问题。我仍然得到“ORA-02291:违反完整性约束 - 未找到父密钥”。我的问题取决于我从jar文件中包含A类和B类的事实,我无法改变它,只能覆盖。

我的映射看起来像:

- 第一张表:

@Entity
@Table(name = "A")
@SequenceGenerator(name = "SEQ_A", sequenceName = "SEQ_A")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "DOMAIN")
public abstract class A {
      @Id
      @Column(name = "A_ID")
      private Long id;
}

- 第二课有第二张桌子:

@Entity
@Table(name = "B")
@DiscriminatorValue("C")
@PrimaryKeyJoinColumn(name = "B_A_ID")
public class B extends A {
    @Column(name = "B_FIELD")
    private String bField;
}

我班上有问题。我想在B类/表中添加新字段。

@Entity
@Table(name = "B")
@DiscriminatorValue("X")
@PrimaryKeyJoinColumn(name = "B_A_ID")
public class BExt extends B {
     @Column(name = "B_MY_FIELD")
     private String newField;
}

抱歉我的英文。你可以帮帮我吗? 感谢

1 个答案:

答案 0 :(得分:0)

您想要向现有表添加字段,但使用true继承。

您需要JOINED继承:

SINGLE_TABLE