[英]Generate JPA query for foreign key field
我正在尝试使用教师ID获取学生列表,这是使用@JoinColumn
生成的Student
表中的外键,但有错误。
Student.java
类的字段关系:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "teacher_id", nullable=false)
private Student student;
Teacher.java
类的字段关系:
@OneToMany(
mappedBy = "student",
cascade = CascadeType.ALL,
orphanRemoval = true
)
private List<Student> StudentsList = new ArrayList<>();
StudentResource.java
:
@GetMapping("/student/details/{teacherId}")
@Timed
public List<Student> getStudentDetails(@PathVariable Long teacherId) {
log.debug("REST request to get Student details: {}", teacherId);
List<Student> studentDetails= studentRepository.findByTeacherID(teacherId);
return studentDetails;
}
StudentRepository.java
:
List<Student> findByTeacherID(Long teacherId);
有没有一种方法可以直接映射字段而不是整个对象?
有没有一种方法可以直接映射字段而不是整个对象?
假设Student
的代码看起来像人们所期望的*,而不是您发布的代码,这应该可以工作:
@Query("select s.id from Student s where s.teacher.id = :id")
List<Long> findByTeacherId(Long id);
*即Student
有一个属性teacher
引用的Teacher
和一个名为id属性id
类型的Long
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.