我有以下表格:
Template(
Template_Id,
Template_Name,
Component_Type,
Component_Id
)
Division(
Division_Id,
Division_Name
)
SubDivision(
SubDivision_Id,
SubDivision_Name
)
Department(
Department_Id,
Department_Name
)
在Template表中,Component_Type字段可以包含值Division或SubDivision或Department。
Component_Id将包含Division_Id或SubDivision_Id或Depatment_Id,具体取决于Component_Type。
我知道Template表没有完全规范化,最好有不同的表,如Template_Division,Template_SubDivision等...... 但是,这些是现有表格,我们无法对其进行修改。
我的问题是, 我应该如何在Template类中配置Component_Id列?
Template.java将如下所示: -
public class Template{
@Id
@Column(name="Template_Id)
private Long id;
@Column(name="Template_Name)
private String name;
@Column(name="Component_Type")
private String componentType;
}
有人可以解释如何配置Component_Id列吗?
感谢。
答案 0 :(得分:0)
您可以使用@Any
annotation。请注意,从Hibernate 3.5开始,您必须通过Session
接口(即不是EntityManager
)访问Hibernate才能使用它。