java - Spring数据,按嵌套对象的属性查找

标签 java spring spring-boot jpa spring-data-jpa

我有以下代码:

@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 data mongodb 存储库,我正在尝试创建一个方法来返回一个 List<Student>基于 className我作为参数传入。根据我所阅读的所有内容,我认为以下内容可行:

public List<Student> findByStudentGradesClassName(final String className);

但这给出了一个错误,指出参数类型应该是 Grade目的。我真的只想传递一个 String className .

这可能吗?

最佳答案

您必须使用下划线分隔嵌套字段:

public List<Student> findByStudent_Grades_ClassName(final String className);

请注意,您仍然必须以大写开头的字段名称。

关于java - Spring数据,按嵌套对象的属性查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55579240/

相关文章:

java - 未指定 hibernate.search.lucene_version : using LUCENE_CURRENT

java - 是否可以将路径变量和请求参数绑定(bind)到一个对象中?

java - 如何通过 java 代码将 java HashMap 转换为不可变的 Scala 映射?

javascript - Java 类接收 Ajax JSON post 作为 null

java - 当我从具有其他外键的表中删除条目时,相应的记录也不会被删除

Spring Kafka Producer 不发送到 Kafka 1.0.0(Magic v1 不支持记录头)

java - 我的 Activity 如何在两种布局上运行?

java - 如何使用纯Java(包括日期和小数类型)生成Parquet文件并将其上传到S3 [Windows](无HDFS)

java - 使用webHdfs创建文件

java - Spring MVC 是否使用 setter 方法来设置 ModelAttribute 对象的属性?