【发布时间】:2011-01-15 12:51:19
【问题描述】:
我需要 JPA 中的继承方面的帮助
我会用一个例子来说明我的问题:
假设我们有一个 Animal 类和一个 Cat 类。
@Entity
@Table(name = "animal")
@DiscriminatorColumn(name="animal_type",columnDefinition="Integer",length=11)
public class Animal implements Serializable{
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
@Column(name = "animal_id", nullable = false)
private Long id;
...
}
@Entity
@Table(name = "cat")
@DiscriminatorValue("1")
@AttributeOverride(name="id",column=@Column(name="cat_id"))
public class Cat extends Animal {
...
}
如示例所示,我想为 cat 表中的 id 列使用不同的名称
但是当我尝试执行询问所有 Animal 实例的多态查询时,我得到一个错误。就像查询无法根据动物实例处理不同的字段名称一样。
我这样做对吗? 提前致谢。
【问题讨论】:
-
你找到解决办法了吗?
标签: inheritance jpa polymorphism overriding