Jpa 如果你没有';t对父/子级使用@inheritation eclipse-link是否使用默认的继承策略?

Jpa 如果你没有';t对父/子级使用@inheritation eclipse-link是否使用默认的继承策略?,jpa,Jpa,我将JPA与spring数据一起使用,EclipseLink2.5与spring和java一起使用 我目前有2个实体 @Entity @Table(name="ORDER_TABLE") public class Order {.../*does not have an auditDate column*/} @Entity @Table(name="ORDER_AUDIT_TABLE") public class Child extends Parent { @Column(name

我将JPA与spring数据一起使用,EclipseLink2.5与spring和java一起使用

我目前有2个实体

@Entity
@Table(name="ORDER_TABLE")
public class Order
{.../*does not have an auditDate column*/}

@Entity
@Table(name="ORDER_AUDIT_TABLE")
public class Child extends Parent
{
    @Column(name="AUDIT_DATE")
    private Date auditDate;
...
}
问题是,当我调用父JPA simple repository来查询父实体时

Order order = orderRepository.findOne(orderId);
它给了我一个如下的错误

Error Code: 904
Call: SELECT ID, ... AUDIT_DATE, FROM ORDER_TABLE WHERE (ID = ?)
    bind => [682]
...
ORA-00904: "AUDIT_DATE": invalid identifier
我的印象是,如果您关闭@heritation,那么它在与数据库交互时就不会尝试使用任何JPA继承

但是,根据我得到的错误,它的行为就像我有
@heritance(strategy=heritancetype.SINGLE\u TABLE)
在订单上。这让我相信它是在后台添加默认值

有没有办法让一个@Entity在Java中扩展另一个@Entity,而不在后台应用JPA继承


我之所以对此感兴趣,是因为我希望对Order的任何修改也能应用于OrderAudit。因此,当开发人员更改订单并尝试运行应用程序时,它将抛出一个错误,并让他们知道他们也需要更改OrderAudit表

当javax.persistence.heritation缺失时,默认为单_表。这一点记录在以下文件中:

如果未指定继承注释或没有继承 类型是为实体类层次结构(单_表)指定的 采用映射策略

若只需要来自超类的映射而不需要这种继承,那个么这可能是一种可行的方法