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

김동호님의 프로필 이미지

작성한 질문수

실전! 스프링 데이터 JPA

스프링 데이터 JPA와 DB 설정, 동작확인

findById 반환타입 Optional

작성

·

1.2K

0

안녕하세요 선생님. 좋은 강의 매번 감사합니다!

강의를 듣고 토이프로젝트중에 질문이 생겼습니다!

강의 21분쯤에 스프링 데이터 JPA가 제공하는 findById의 반환값을 받아올때 반환값이 없을 수도 있기 때문에 Optional이고 강의에선 편의상 get()으로 가져온다고 하셨습니다!

강의에서 orElse 로 처리한다고 간단하게 언급해주셨는데, 실무에서는 그럼 위와 같은 상황에서 어떤식으로 가져오나요?

관련되어서 조사를 해보았는데 orElse로 값이 없을때 반환할 값을 넣어준다고 하더라구요. 그럼 이 테스트에서는 값이 없을때 반환할 객체 하나 생성해두고 orElse에 넣으면 되는건가요?

답변 2

1

Optional 클래스에는 랩핑되는 객체가 null인지 아닌지 판단할 수 있는 메서드인 isPresent() 메서드를 제공하고 있습니다. 해당 메서드를 통해 값 유무를 확인하는 경우도 있지만 보통은 orElseThrow()를 통해 값이 없는 경우 적절한 예외를 던져 예외처리를 합니다.

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

정현님 감사합니다^^

0

김동호님의 프로필 이미지
김동호
질문자

감사합니다!!