我在 web 应用程序中使用 toplink JPA,我只想将一个表映射到类层次结构。我想要一个代表大部分数据的类,以及一个继承自该类的类(因此它获取超类的所有字段,以及其他几个保存大量数据的字段)。我不希望一直有大量数据,也不希望将它们保存在请求对象中等。我只想要有人选择其中一个摘要时的大量数据。我已按如下方式设置类(简化为示例)。
@Entity
@Table(name = "TRANSCRIPTS")
@MappedSuperclass //also tried without this - same error
public class Summary {
@Id
@Column(name = "id")
private long id;
@Column(name = "title")
private String title;
//rest of class etc.
}
@Entity
@Table(name = "TRANSCRIPTS")
public class Detail extends Summary {
@Id
@Column(name = "fullText")
private String fullText;
//rest of class etc.
}
当我尝试使用此层次结构获取数据时,出现如下错误
Unknown column 'DTYPE'
所以它正在寻找一个鉴别器列。我没有设置,因为它不是那种关系。
有没有其他方法可以在 JPA 中映射此摘要/详细信息关系?或者我应该放弃类继承并拥有两个独立的不相关类,一个代表汇总数据,一个代表完整数据(并重新定义汇总字段)。
谢谢。