У меня есть следующая настройка класса для студента в спящем режиме. Ученик класса содержит набор объектов Score. Каждый объект оценки содержит оценку, идентификатор учащегося и объектgradeEvent. Объект события оценки содержит такие вещи, как дата, описание и т. д. Я хочу получить учащегося и загрузить все связанные с ним объекты оценки и объектgradeEvent, связанный с каждым извлеченным объектом оценки. Следующий HQL позволяет мне получить доступ к объекту Student с полями связанных объектов Score, принимаемых дляgradeEvent.
"from Student student left join fetch student.scores where student.studentId=1"
Как я могу загрузить объектgradeEvent во время запроса, чтобы я мог получить к нему доступ после закрытия сеанса? Я поместил соответствующие разделы моих картографических файлов ниже.
ученик
<set name="scores" inverse="true" lazy="true" table="score" fetch="select">
<key>
<column name="student_id" not-null="true" />
</key>
<one-to-many class="gradebook.model.Score" />
</set>
счет
<many-to-one name="student" class="gradebook.model.Student" update="false" insert="false" fetch="select">
<column name="student_id" not-null="true" />
</many-to-one>
<many-to-one name="gradeEvent" class="gradebook.model.GradeEvent" update="false" insert="false" fetch="select">
<column name="event_id" not-null="true" />
</many-to-one>
событие
<set name="scores" inverse="false" lazy="true" table="score" fetch="select">
<key>
<column name="event_id" not-null="true" />
</key>
<one-to-many class="gradebook.model.Score" />
</set>