有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案