🚨에러노트

[220928] JPA query did not return a unique result 에러

디카페인라떼 2022. 9. 28. 19:56
문제상황

사용자가 가입한 모임을 조회하는 로직을 다 짜고나서 테스트를 해보니 에러가 났다.

 

검색을 해보니 Repository에서 find를 했을때 나오는 값이 여러개인데 그걸 받아주는 class가 하나일때 나타나는 에러라고한다!

 

해결방법

 

👉현재 로직에서 repository 사용하는 부분이 두부분인데 디버깅을 해보니 아예 Crew에서 부터 throw 되었다.

👉 Optional로 받아져서 그냥 단일 클래스로 받아주고 null exception을 던져주려고 했더니 문제가 생긴 것 같다.

 

List로 받는 거로 바꾸어 주고 

  1.  repository로 Crew List를 찾은 다음
  2. Crew List에서 Crew를 하나씩 빼서 해당 객체 안에있는 모임의 아이디로 모임을 찾아준다
  3. 해당 모임을 넣어서 MeetingResponseDto 를 생성
  4. 생성한 MeetingResponseDto를 List에 넣어서 출력

 

에러 없이 잘 뜨는걸 확인할 수 있다.

 

🚨 findBy.. 는 무조건 Optional로만 리턴되는 줄 알았는데 아닌가보다.. 

👉Optional에 대해서 좀더 공부해봐야겠다