Spring数据,按嵌套对象的属性查找 [英] Spring data, find by property of a nested object
问题描述
我有以下代码:
@Entity
public class StudentEntity {
@Id
private String id;
private Student student;
...
}
public class Student {
private String name;
private List<Grade> grades;
}
public class Grade {
private String className;
private String grade;
}
我已经建立了一个 spring 数据 mongodb 存储库,我正在尝试创建一个方法,该方法将返回一个基于 className
的 List
我作为参数传入.根据我读过的所有内容,我认为以下方法可行:
I've set up a spring data mongodb repository and I'm trying to create a method that will return me a List<Student>
based on a className
that I pass in as parameter. Based on everything I've read, I assumed that the following would work:
public List<Student> findByStudentGradesClassName(final String className);
但这给出了一个错误,指出参数类型应该是一个 Grade
对象.我真的只想传入一个 String className
.
but that gives an error saying that the parameter type should be a Grade
object. I really only want to pass in a String className
.
这可能吗?
推荐答案
您必须用下划线分隔嵌套字段:
You would have to separate nested fields with underscore:
public List<Student> findByStudent_Grades_ClassName(final String className);
请注意,您仍然必须以大写开头的字段名称.
Note, that you still have to start field names with uppercase.
这篇关于Spring数据,按嵌套对象的属性查找的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!