通过第一个 table 中的 ID 从第二个 table 获取值

Get values from second table by ID that is in first table

所以我有成绩控制器,我想显示 table 学生的名字,学生的姓氏,然后是 table 年级的成绩。 我通过 grades_id 在学生中链接成绩,以便每个学生都有自己的成绩。

问题是,我不知道如何让它工作。

@GetMapping("/grades")
public String grades(Model theModel){

    List<students> theStudents = studentService.findAll();
    List<grades> theGrades = null;

    for(students s : theStudents){

        theGrades = (List<grades>) gradesService.findById(s.getGrades_id());


    }

    theModel.addAttribute("grades",theGrades);
    theModel.addAttribute("students",theStudents);

    return "/ediary/principal/grades";
}

/

  public grades findById(int theId) {

    Optional<grades> result = gradesRepository.findById(theId);

    grades theGrades = null;

    if(result.isPresent()){
        theGrades = result.get();
    } else{
        throw new RuntimeException("Did not find grade id - " + theId);
    }

    return theGrades;
}

我试过类似的方法,但显然不起作用,

所以我主要尝试的是:

|名字|姓 |英语 |数学 | ...

我该怎么做?

而不是 returning Optional from findById() return List 而不是 findById() 在里面写 findAllById() findById().
例如

    List<grades> result = gradesRepository.findAllById(theId);

我想你可能会重新考虑你的构想,如果你这样做的话,你可以很容易地实现它 Student 有一个成绩列表,并且 Grade 实体是关系的所有者,将 Student 实体的主键作为外键保存,然后当您获取 Student 时,您可以获得与其关联的每个 Grade 对象。