JPA Java映射关系

时间:2013-03-01 00:00:16

标签: java jpa mapping

在Java中,我有一个超类Element和4个子类,我们称之为ElementA,ElementB,ElementC,ElementD。

我的数据库中的表:

Element(ElementID, title, description, targetGroup) : Primary key elementID  
ElementA(ElementID,...) : Foreign key elementID   
ElementB(ElementID,...) : Foreign key elementID   
ElementC(ElementID,...) : Foreign key elementID  
ElemendD(ElementID,...) : Foreign key elementID

我也有:LearningProgram和LearningProgramElement:

LearningProgram(programcode, ....) : Primary key programcode  
LearningProgramElement(programcode, ElementID, dateFrom, dateUntil, ...) : Foreign key programcode, Foreign key elementID  

LearningProgramElement将Element链接到LearningProgram,并且还具有此关系的一些属性:
元素可以在不同的LearningPrograms中,但在每个LearningProgram中将具有不同的dateForm和dateUntil。

现在在我的Java中,我在LearningProgram对象4中列出了:

List<LearningProgramElement> elementA = new ArrayList<>();  
List<LearningProgramElement> elementB = new ArrayList<>();  
List<LearningProgramElement> elementC = new ArrayList<>();  
List<LearningProgramElement> elementD = new ArrayList<>();

LearningProgram对象如下所示:

private String programcode;
private int elementid;
...
private Element element;

我现在获得相同列表的4倍,包含所有LearningProgramElement 如何制作我的jpa注释,在list elementA中只有LearningProgramElement有子类ElementA的Element,依此类推?

1 个答案:

答案 0 :(得分:0)

我认为@MappedSuperClass就是你想要的。查看相关文档并查看示例是否符合您的用例。