상황
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property '${customRepository method name}' found for type '${entity type}'
JPA에서 제공하는 쿼리를 사용하지 않고 커스텀해서 사용하기 위해 커스텀한 레포지토리를 만들었다.
그런데 관련 메소드에 프로퍼티가 없다라는 로그를 찍고 애플리케이션이 실행되지 않았다.
원인 분석
- 관련 자료를 찾아보니 네이밍을 짓는 규칙이 있는 것 같음.
- 실제로 코드에서 어떻게 읽어오는지 알 수 는 없었음.
해결 [이름을 잘 지어야 한다.]
custom${EntityName}Repsitory ← custom${EntityName}RepositoryImpl
이런식의 구조로 이름을 지어야 함. 또는
${EntityName}CustomRepsitory ← ${EntityName}CustomRepositoryImpl
Impl 이름을 쓰지 않으면 해당 예외가 발생하니 주의해야 한다.
'Spring > JPA' 카테고리의 다른 글
따로 따로 조회했을 때 연관관계가 있는 객체를 자동으로 로드해주나? (0) | 2023.03.21 |
---|---|
cacscade.REMOVE VS orphanRemoval = true (0) | 2023.02.26 |
EntityManger.persist()를 하고 ID값을 반환하는 과정 (0) | 2021.07.02 |
JPA (0) | 2021.05.10 |
6. 다양한 연관 관계 매핑_7.고급매핑_8. 프록시와 연관관계 (0) | 2021.01.27 |
댓글