Рассмотрим эту простую схему базы данных:
User Course StudentCourse Student
+-------------+ +-------------+ +-------------+ +-------------+
| -user_id |1 *| -course_id |1 *| -course_id |* 1| -student_id |
| |---->| -user_id |---->| -student_id |---->| |
+-------------+ +-------------+ +-------------+ +-------------+
[1 *] = 1 to many relationship
Я создал объекты для объектов «Пользователь», «Курс» и «Студент» и настроил следующие сопоставления:
User -> Course - one to many
Course -> Student - many to many
На моих уроках Java я могу получить доступ к курсам пользователя, позвонив по номеру user.getCourses()
, и получить доступ ко всем студентам курса, позвонив по номеру course.getStudents()
. Я хочу, чтобы я мог найти всех Студентов на всех курсах, преподаваемых конкретным пользователем , например user.getCourse().getStudents()
, но, поскольку user.getCourses()
возвращает Collection<Course>
, я не могу позвонить course.getStudents()
в коллекции , Как мне реализовать это в Hibernate? Является ли именованный запрос моей единственной опцией?