attlet / sns_project

코틀린 + spring boot 사이드 프로젝트
0 stars 0 forks source link

댓글 기능 #31

Closed attlet closed 4 days ago

attlet commented 2 weeks ago

댓글 기능 구현 필요.

attlet commented 2 weeks ago

체크리스트

attlet commented 2 weeks ago

posting 을 페이징 처리해서 불러올 때, n + 1 문제 발생할 우려 있음.

override fun findPostingList(pageable: Pageable): List { val postingList = postingRepository.getPostingList(pageable) val responseList = mutableListOf()

    for (posting in postingList) {
        val commentList = posting.comment    //이 부분에서 가져온 posting 엔티티에서 comment를 추가로 쿼리
        val responseCommentList = commentList.stream()
            .map {it ->
                ResponseCommentDto(
                    writerId = it.member.id,          //이 부분에서 comment엔티티에서 추가로 member 쿼리
                    writerName = it.member.name,
                    content = it.content,
                    createAt = it.createdDt,
                    updateAt = it.updateDt
                )
            }
            .toList()

db 접근이 필요이상으로 많이 발생, 한 번에 fetch join으로 posting과 연결된 comment 정보들을 가져오는 방법을 사용해서 해결.