반응형
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();
}
}
반응형
'Error & Fix' 카테고리의 다른 글
Querydsl NoClassDefFoundError 에러 해결방법 (1) | 2022.08.09 |
---|---|
Querydsl No sources given 에러 해결방법 (0) | 2022.08.06 |
JPA No Property 메소드명 found 에러 해결방법 (0) | 2022.07.12 |
MySQL Cannot Delete or update a parent row 에러 해결방법 (0) | 2022.07.12 |
MySQL Drop Table 안되는 현상 해결방법 (0) | 2022.07.11 |
댓글