본문 바로가기
Error & Fix

JPA Repository 호출 시 NullPointerException 해결방법

by wakestand 2022. 7. 24.
반응형
java.lang.NullPointerException: Cannot invoke "com.sample.repository.SampleRepository.findById(Object)" because "this.sampleRepository" is null

 

JPA에서 Interface Repository를 호출해서

쿼리를 수행하려고 하는데

 

위와 같이 

Cannot invoke "repository.메소드명()" because "this.repository" is null

에러가 발생하는 경우에는

생성자 주입이 되지 않은 경우라

 

lombok의 @RequiredArgsConstructor

을 사용해주면 해결되는데

 

클래스 위에 @RequiredArgsConstructor

어노테이션을 달아준 후

repository 클래스 선언 시

접근자를 final로 선언해주면 끝이다

(final로 선언해야 Lombok이 작동함)

 

예제 코드로 보자면 아래와 같다

 

@RequiredArgsConstructor
public class Sample {

    final SampleRepository sampleRepository;
    
    public void test() {
    	sampleRepository.findAll();
    }
    
}
반응형

댓글