대댓글 구현중 nullPoint에러가 발생했다.
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Builder
public class CommentResponse {
private Long id;
private String comment;
private String userName;
private Long crewId;
private Long parentId;
private LocalDateTime createdAt;
public static CommentResponse of(Comment comment) {
return CommentResponse.builder()
.id(comment.getId())
.comment(comment.getComment())
.userName(comment.getUser().getUsername())
.crewId(comment.getCrew().getId())
.parentId(comment.getParent().getId())
.createdAt(comment.getCreatedAt())
.build();
}
}
문제는 위 코드인데, builder로 parentId를 입력할때 comment에서 ParentId가 없는경우 null이 발생했던 것이다.
현재 로직은 처음 댓글은 parent가 없기때문에 null이 입력될 수 밖에 없다.
이 문제를 어떻게 해결할까...?
또 대댓글을 어떤 형식으로 보여줄지에 대한 문제도 아직 해결하지 못했다.
쿼리문을 잘 작성해서 조회를 해야할거 같은데 답이 보이지 않는다.
Page<Comment> findByCrewIdAndParentId(Long id, Pageable pageable, Long parentCommentId);
위 코드를 실행하면 값이 1개만 나온다??
잘 모르겠다...
하지만 계속 고민하다 또 해결하겠지