我有 3 个由 JPA 模型表示的表。
第一:
@Entity
@Table(name = "DECISION")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Decision {
@Id
private Long id;
}
下一个类扩展了决策:
@Entity
@Table(name = "SPECIFIC_DECISION")
public class SpecificDecision extends Decision {
@OneToOne
@JoinColumn(name = "PERSON_ID")
private Person person;
}
最后一个是 Person,它只是一个带有人员信息的简单实体类。
现在,当我尝试从数据库中选择所有决策时,我收到一个错误信息,即持久性单元与数据库模式不一致,因为列 DECISION.PERSON_ID 不存在,而我在 SPECIFIC_DECISION 表中确实有它,这就是我映射它的方式在 JPA 模型中。
更有趣的是,如果 SpecificDecision 中没有关系,只有简单的 NUMBER 和 VARCHAR 字段,那么一切正常。
我究竟做错了什么?