在数据库中,我们有一个带有鉴别器列的“父”表,并且根据此鉴别器列,某些列存储在特定表中,或者允许某些关系(许多/一对多)。
在我们的映射中,我们希望像
一样实现它@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class A {
@Id
@Column
private int id;
}
@Entity
public class B extends A {
@Column
private String specificField;
}
@Entity
public class C extends A {
@OneToMany
private List<OtherEntity> otherEntities;
}
不幸的是,Hibernate希望加入表C,这个表不存在,因为它只包含FK到A.有没有办法保留这个策略但是告诉不需要加入?
否则,什么是最干净的解决方案?在this question之后,我想在SINGLE_TABLE
注释中使用@SecondaryTable
注释对需要它的子实体进行配置,但配置似乎更重(必须为每个列声明源表)。