【发布时间】:2011-01-15 01:43:59
【问题描述】:
考虑这个简单的数据库架构:
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 和 Student 对象创建了实体,并设置了以下映射:
User -> Course - one to many
Course -> Student - many to many
在我的 Java 类中,我可以通过调用 user.getCourses() 访问用户的课程,并且我可以通过调用 course.getStudents() 访问课程中的所有学生。 我希望能够找到特定用户教授的所有课程中的所有学生,例如 user.getCourse().getStudents(),但是因为 user.getCourses() 返回 Collection<Course> 我无法在收藏。 我应该如何使用 Hibernate 实现这一点?命名查询是我唯一的选择吗?
【问题讨论】:
标签: java database hibernate jpa orm