본문 바로가기
IT/Java

[Error] Cannot invoke "java.util.function.Supplier.get()" because "supplier" is null

by 성준하이 2024. 10. 31.
반응형

개발 중에 아래와 같은 에러가 발생하였다.

 

 NullPointerException: Cannot invoke "java.util.function.Supplier.get()" because "supplier" is null.

 

jpa 에서 쿼리 메서드를 사용했고,

예를들어 아래와 같은 코드를 했을때 발생한 에러이다.

 

Member member = memberRepository.findById("string").get();

 

가져왔는데 데이터가 null이어서 발생한 에러이다.

 

해결책은 null을 방지하기 위해 orElseGet 를 추가하는것이다.

그럼 아래와 같은 코드로 변하면 된다.

Member member = memberRepository.findById("string").orElseGet(null);

 

orElseGet 에 대해서는 아래 참고 포스팅 참고 바란다.


참고 포스팅

https://thenicesj.tistory.com/597

 

Optional – orElse() 와 orElseGet()

이전 포스팅에서 Optional 에 대한 내용을 다룬적이 있다. 자세한 내용은 아래 참고 포스팅 참고 바란다. Optional 은 결국엔 NPE 를 해결하기 위해서 생겨났고, 만약 Null일 경우엔 default 값을 넣어줄수

thenicesj.tistory.com

 

반응형

'IT > Java' 카테고리의 다른 글

[Error] white label error page  (7) 2024.11.08
[Error] Syntax error on token "Invalid Character", delete this token  (15) 2024.11.01
Virtual Thread 란?  (14) 2024.10.30
콜백 패턴(Callback Pattern)  (17) 2024.10.29
[Error] argument type mismatch  (13) 2024.10.27

댓글