java如何与具有复合键的表建立关系?
我有一个course_subject
表,其中每个科目都可以与许多课程相关联
Course Subject
C1 S1
C1 S2
C1 S4
C2 S1
C3 S1
和student
表,其中每个学生只能有一门课程
Student Course
S1 C1
S2 C1
S3 C2
S4 C3
我的CourseSubject
类如下
@Entity
Class CourseSubject {
@Id
String Course;
@Id
@ManyToOne
Subject subject;
...
}
我的Student
类如下
@Entity
Class Student {
@Id
long id;
String fname;
String lname;
String course;
...
}
换句话说,每个学生只有一门课程,但每门课程有多个科目,这意味着每个学生通过其相关课程与多个科目相关
我需要知道如何创建查询,如:
查询:显示参与科目S1的所有学生
结果:因此,根据上述记录,它应该显示所有在C1、C2和C3注册的学生,因为他们都有S1科目
(请注意,在学生课堂上,我只有课程名称)
我想,一个选项是将查询设置为
Select * from Student WHERE course IN
(Select course from
CourseSubject
WHERE
subject.name = 'S1')
共 (0) 个答案