我有 2 个表,分别是 Student 和 Teacher,Student 与 Teacher 之间存在多对一关系,teacherId 作为外键。
如果我想查询类似下面的内容,我如何以某种方式使用 spring data JPA repo 方法 - findByTeacherName
,
select * from Student S, Teacher T
where T.teacherName = 'SACHIN' and S.teacherId = T.teacherId
注意:这里我只想使用 StudentRepository
进行查询,它是使用 StudentHibernateMapping
类创建的,该类与 TeacherHibernateMapping
类有关系
任何帮助将不胜感激。
最佳答案
StudentRepository 上会有一个repository 方法
List<Student> findByTeacher_TeacherId(String teacherId);
你的 entityClass 应该是这样的..
@Entity
Class Student {
@Id
String studentId;
@ManyToOne
private Teacher teacher;
}
老师类会是..
@Entity
Class Teacher {
@Id
private String teacherId;
}
这里你需要知道的关键是:
findBy + (学生类外键成员首字母大写) + 下划线 +教师类数据成员首字母大写 +(String teacherId) ;
这会给你一个属于那个老师的学生列表
关于java - 如何使用 Spring Data JPA Repository 从 2 个表中查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26938048/