==>> 요청 처리에 실패했습니다. 중첩 예외는 java.lang.NullPointerException입니다. "com.flexy.boardback.respository.resultSet.GetBoardResultSet.getBoardNumber()"의 반환 값이 null이므로 "java.lang.Integer.intValue()"를 호출할 수 없습니다.
드디어 나도 그 악명높은 NullPointerExeption을 만나게 되었다.
문제를 해결하기 위해서 https://flexyduck.tistory.com/499 이 내용에 대한 복습부터 한다.
간단하게 요약하면 JPA에서 네이티브 쿼리를 사용해야 하는 상황이다. 아래의 코드처럼 쿼리문에는 board_number라고 되어 있고 GetBoardResultSet에는 getBoardNumber로 보드넘버에 대한 철자가 서로 맞지 않는 상황인것이다.
그래서 오류가 "com.flexy.boardback.respository.resultSet.GetBoardResultSet.getBoardNumber()"의 반환 값이 null "이라고 오류가 뜬 것이다. 즉 위의 board_number를 boardNumber로 바꾸어 주면 문제는 해결된다.
(위의 코드에서 write_datetime을 writeDatetime으로, nickname을 writerNickname으로 변경하면 null값이 나오는 것을 막을 수 있다. 다만 이것을 수정하지 않고도 오류가 발생하지 않았던 이유는 이것이 데이터를 가져오는데 필수적인 데이터가 아니었ㄱ 때문이다. 보드넘버같은 경우는 데이터를 가져오기 위한 필수정보이므로 토씨하나 틀리지 않고 적어줘야 오류를 해결할 수 있었던 것이다.)
아래는 수정이 완료된 네이티브 쿼리