복붙노트

[SPRING] 스프링 데이터, 중첩 된 객체의 속성으로 찾기

SPRING

스프링 데이터, 중첩 된 객체의 속성으로 찾기

다음 코드가 있습니다.

@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;
}

스프링 데이터 mongodb 저장소를 설정했으며 매개 변수로 전달한 className을 기반으로 List 를 반환하는 메소드를 작성하려고합니다. 내가 읽은 모든 것을 기반으로 다음이 작동한다고 가정했습니다.

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

그러나 매개 변수 유형이 Grade 객체 여야한다는 오류가 발생합니다. 실제로 String className 만 전달하고 싶습니다.

이것이 가능한가?

해결법

  1. ==============================

    1.밑줄로 중첩 된 필드를 분리해야합니다.

    밑줄로 중첩 된 필드를 분리해야합니다.

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

    필드 이름은 대문자로 시작해야합니다.

  2. from https://stackoverflow.com/questions/55579240/spring-data-find-by-property-of-a-nested-object by cc-by-sa and MIT license