0

在 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 将一个元素链接到一个 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 注释在列表 elementA 中只有 LearningProgramElement 具有子类 ElementA 的元素,等等?

4

1 回答 1

0

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

于 2013-03-01T14:09:21.383 回答