querydsl을 사용하여 쿼리를 작성하던 중 아래의 에러를 만났다.
No property 'firstMatching' found for type 'Account'
해당 에러의 해결책으로 많이 제시되는 방법은 2가지가 존재했다.
첫 번째로, 테이블의 컬럼이 스네이크 케이스로 설정되었을 경우 케멜 케이스로 변경하라는 방법이었다. 구체적인 원인으로는 아래와 같은 이유다.
jpa의 findBy를 사용할 때 ('_')는 예약어로 등록되어있어서 에러가 발생한다.
두 번째로, querydsl 사용중 해당 에러를 만났다면 레포지토리의 이름이 명확하지 않아서 발생하는 에러이다.
accountRepo로 JpaRepository를 구현하였을 경우
querydsl를 사용하는 레포지토리의 이름은 아래와 같아야 된다.
하지만 나의 경우는 이름을 잘 작성하였다.
이유를 계속해서 찾다보니 조금은 어의없게 해결되버려 버렸다.
해당 커스텀 레포지토리들의 경로를 accountRepo 경로로 이동하였더니 해결되었다.