Hibernate中的多对多关系 - 设计对象模型

时间:2016-07-13 14:21:52

标签: java hibernate object-model

我有一个奇怪的问题,即拥有多对多关系的正确对象模型。比如说,我有3个实体:CLASS,SUBJECT,以及以下数据模型的学生:

Table CLASS:
ID INTEGER,
CLASSNAME VARCHAR

Table SUBJECT:
==============
ID INTEGER
NAME VARCHAR

Table STUDENT:
==============
ID INTEGER
PRIMARY_SUBJECT INTEGER REFERENCES SUBJECT (ID)
CLASS_ID INTEGER REFERENCES CLASS (ID)

Table CLASS_SUBJECTS (Subjects that are taught in a class, a subject can be taught in more than one class):
===========================================================================
CLASS_ID INTEGER REFERENCES CLASS(ID)
SUBJECT_ID INTEGER REFERENCES SUBJECT(ID)

如何确保学生的CLASS和PRIMARY_SUBJECT是有效的条目?只有CLASS_SUBJECTS表中有条目时,一对CLASS和PRIMARY_SUBJECT才有效。

我希望对象模型同时包含CLASS和PRIMARY_SUBJECT,如下所示:

Class STUDENT {
 .... //Some fields
 CLASS myClass;
 SUBJECT primarySubject;
}

PS:我不想取代CLASS&使用CLASS_SUBJECT的SUBJECT成员,因为CLASS成员中有许多东西需要作为STUDENT对象的一部分。

0 个答案:

没有答案