在Java中,我有一個超類Element和4個子類,我們稱它們爲ElementA,ElementB,ElementC,ElementD。JPA Java映射關係
表在我的數據庫:
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的元素鏈接到LearningProgram,也有這種關係的一些屬性:
的元素可以處於不同的LearningProgram中,但在每個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註釋,在列表elementA中只有LearningProgramElement誰擁有子元素ElementA的元素,依此類推?