인프런 커뮤니티 질문&답변

NickNamEE님의 프로필 이미지

작성한 질문수

실전! 스프링 데이터 JPA

@Query, 값, DTO 조회하기

강의 보면서 프로젝트 진행 중에 오류가 발생했습니다..

작성

·

430

0

Member가 있고 Dept 엔티티가 있습니다.

Member 리파지토리에 다음과 같이 작성했구요.

@Query(value = "select m from Member m left join fetch m.dept where m.dept.unit_code = :code")
List<Member> findMembersByUnitCode(@Param("code") String code);

멤버를 1명 추가 했을 때는 해당 Dept에 해당하는 멤버가 잘 나오다가..

테스트로 

Dept dept12 = new Dept("12", "***팀", "", "");
memberRepository.save(new Member("1",dept12,"","","","","","","","",""));
memberRepository.save(new Member("2",dept12,"","","","","","","","",""));
memberRepository.save(new Member("3",dept12,"","","","","","","","",""));

이런식으로 멤버를 저장하고 위

findMembersByUnitCode를 실행 하면
org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result
이런 에러가 납니다.. ㅠㅠ

h2데이터베이스에서 select 했을 때는 데이터가 정확히 잘 들어가 있는데, 왜 이런 에러를 보내는 걸까요?

답변 3

1

김영한님의 프로필 이미지
김영한
지식공유자

잘 되셨다니 다행입니다^^!

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. NickNamEE님

도움을 드리고 싶은데 정보가 더 필요합니다^^

전체 프로젝트를 압축해서 올려주세요.

(꼭 해당 예제를 재현할 수 있는 테스트를 추가하고 어떤 테스트인지 알려주세야 합니다^^!!!)

추가로 JPQL에서 fetch join 대상에 where 문으로 필터링을 했는데요. 다음 내용도 한번 확인해주세요^^

https://www.inflearn.com/questions/15876

0

NickNamEE님의 프로필 이미지
NickNamEE
질문자

선생님. 저번에 전체 코드를 보내드렸는데...

오늘 다시 해보니 되네요... 뭔가 저장이 안된 상태에서 실행 됬었나봐요.... ㅋㅋ