반응형
개발 중에 아래와 같은 에러가 발생하였다.
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 |
댓글