헤르메스 LIFE

[NoSuchElementException] Resolved [java.util.NoSuchElementException: No value present] 본문

Exception

[NoSuchElementException] Resolved [java.util.NoSuchElementException: No value present]

헤르메스의날개 2023. 3. 18. 23:28
728x90

개발환경

Spring Boot 2.7.9

H2 2.1.214

p6spy 1.8.1

slf4j 1.7.36

swagger2 2.6.1

lombok

devtools

postgresql

JPA


아래의 오류는 JPA 개발환경에서 조회 후 값이 없을 경우 발생하는 오류입니다.
WARN 23-03-18 11:23:622[http-nio-9090-exec-1] org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver.logException[208]: - Resolved [java.util.NoSuchElementException: No value present]
JPA 에서는 아래와 같이 해결할 수 있습니다.

@Transactional(readOnly = true)
public TCodeDDto findBypCdAndCd(String pCd, String cd) {
    Optional<TCodeD> tCodeD = codeDRepository.findBypCdAndCd(pCd, cd);
    if(tCodeD.isPresent()) {
        return new TCodeDDto(tCodeD.get());
    } else {
        return new TCodeDDto();
    }
}

 

isPresent() 메소드
- Boolean 타입
- Optional 객체가 값을 가지고 있다면 true, 값이 없다면 false 리턴

728x90