2013-03-01 4 views
0

В Java у меня есть класс суперкласса и 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, а также имеет некоторые признаки этого соотношения:
An элемент может быть в разных LearningPrograms, но будет иметь разные 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, что в элементе listA есть только объекты LearningProgramElement, у которых есть элемент подкласса ElementA и т. Д.?

ответ

0

Я думаю, что @MappedSuperClass - это то, что вы хотите. Ознакомьтесь с документами по этому вопросу и посмотрите, соответствуют ли примеры вашему варианту использования.

Смежные вопросы