본문 바로가기
Java

[Java] JdbcTemplate.queryForObject의 오해

by 파인스코어 2023. 11. 14.
728x90

이상하다?

✔️ 아이디 중복 체크를 하기 위해 클라이언트가 요청한 아이디와 DB에 저장된 아이디와 동일한지 확인해야 했다.

 

일치하는 데이터가 없으면 당연히 `null` 값이 들어오겠지?

 

✔️ `Optional`을 사용해 `queryForObject`를 감쌌다.
=> 하지만, `null`이 아닌 `EmptyResultDataAccessException`이 발생했다.

EmptyResultDataAccessException의 근원이 어디인가?

✔️ `queryForObject`의 호출을 따라가보자

 

📢 비었으면 예외를 터뜨려버린다

해결 방법은 뭐지?

✔️ `queryForList`를 사용하면 결과가 없을 경우 빈 배열로 반환한다.

 

728x90