작성한 질문수
실전! Querydsl
스프링 데이터 페이징 활용2 - CountQuery 최적화
작성
·
353
0
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]()->countQuery.fetchOne() 이나
countQuery::fetchOne()나 똑같다고 생각했는데 아닌가요?
답변 1
1
안녕하세요. 궁금이님
도움을 드리고 싶은데요.
어떤 경고를 주는지 자세히 설명해주시겠어요?
감사합니다.
return PageableExecutionUtils.getPage(result, pageable, countQuery::fetchOne);
이 부분에서,
return PageableExecutionUtils.getPage(result, pageable, ()->countQuery.fetchOne());
이렇게 하면 ()->countQuery.fetchOne()
이 부분이
Lambda can be replaced with method reference
Unboxing of 'countQuery.fetchOne()' may produce 'NullPointerException'
이렇게 Null일 수도 있다고 뜹니다.
그 경고라는 것이 fetchResults() 했을 때 처럼 누런색으로 색칠됩니다.
Null일수도 있다는 것은 이해하겠는데, 근데 사실 똑같은거라 countQuery::fetchOne 이것도 그럼 똑같이 Null 일수도 있어야 하지 않나..? 라고 생각하는데
이거는 아무 표시도 안해줍니다.
그냥 더블콜론에 대해 인텔리제이가 놓친부분이라고 생각하면 될까요? 아니면 둘이 뭔가 다른 점이 있는걸까요?
이 부분은 결과적으로 같은 코드를 호출하는데요.
이 부분은 정확하지는 않지만 아마도 IntelliJ IDEA에서 람다 표현식 일 때 더 엄격하게 체크를 하는 것으로 추정됩니다.
혹시 정확한 정보를 알고 계신 분 있으면 답변 남겨주세요.
이 부분에서,
이렇게 하면 ()->countQuery.fetchOne()
이 부분이
Lambda can be replaced with method reference
Unboxing of 'countQuery.fetchOne()' may produce 'NullPointerException'
이렇게 Null일 수도 있다고 뜹니다.
그 경고라는 것이 fetchResults() 했을 때 처럼 누런색으로 색칠됩니다.
Null일수도 있다는 것은 이해하겠는데, 근데 사실 똑같은거라 countQuery::fetchOne 이것도 그럼 똑같이 Null 일수도 있어야 하지 않나..? 라고 생각하는데
이거는 아무 표시도 안해줍니다.
그냥 더블콜론에 대해 인텔리제이가 놓친부분이라고 생각하면 될까요? 아니면 둘이 뭔가 다른 점이 있는걸까요?