我有两个Hibernate类:一个基类和一个扩展类,扩展类具有其他表映射的附加字段。
例如,我有:
@Entity
@Table(name="Book")
public class A {
private String ID;
private String Name;
// ...
}
@Entity
@Table(name="Book")
public class B extends A {
public String node_ID;
// ...
}
public class Node {
public String ID; // maps to B.node_ID
// ...
}
怎样在Hibernate中进行映射?Hibernate文档列出了三种继承配置:每个类对应一个表、一个带有类型列的表和一个连接表,但这些都不适用于此处情况。我需要这么做的原因是,A类来自通用框架,可重复使用于多个项目,而B类(以及Node)是特定项目的扩展,它们将不再被使用。未来,我可能会有一个C类,其中包含house_ID或其他字段。 编辑:如果我尝试上面的伪代码配置(两个实体映射到同一张表),则会出现错误,报告找不到DTYPE列。HQL语句附加了“where DTYPE =”A”的条件。