在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,依此类推?
答案 0 :(得分:0)
我认为@MappedSuperClass就是你想要的。查看相关文档并查看示例是否符合您的用例。