Considérez ce simple schéma de base de données:Hibernate Mapping Grâce à une autre entité
User Course StudentCourse Student
+-------------+ +-------------+ +-------------+ +-------------+
| -user_id |1 *| -course_id |1 *| -course_id |* 1| -student_id |
| |---->| -user_id |---->| -student_id |---->| |
+-------------+ +-------------+ +-------------+ +-------------+
[1 *] = 1 to many relationship
J'ai créé des entités pour l'utilisateur, Cours et objets de l'élève, et mettre en place les applications suivantes:
User -> Course - one to many
Course -> Student - many to many
En mes classes Java, je peux accéder aux cours d'un utilisateur en appelant user.getCourses()
et je peux accéder à tous les étudiants dans un cours en appelant course.getStudents()
. Je veux être en mesure de trouver tous les étudiants dans tous les cours enseignés par un utilisateur spécifique comme user.getCourse().getStudents()
, mais parce que user.getCourses()
renvoie Collection<Course>
Je ne peux pas appeler course.getStudents()
sur la collection. Comment dois-je l'implémenter avec Hibernate? Une requête nommée est-elle ma seule option?