通过第一个 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 对象。
所以我有成绩控制器,我想显示 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 对象。