개발자

JPA로 대댓글 기능 구현할 때 어떤 방식으로 구현하시나요??

2024년 02월 14일조회 1,161

오늘 개인프로젝트에 대댓글 기능을 구현했는데 검색해보니까 대부분의 블로그들이 댓글 엔티티에 양방향 연관 관계를 걸어서 구현하더라구요..? 저는 너무 복잡해보여서 groupId랑 parentId 사용해서 그룹별로 묶어서 처리를 했는데 어떤 방식이 더 좋은건지 모르겠습니다... 그룹1 부모댓글1 (groupId: 1) 자식댓글1 (groupId: 1, parentId: 1) 자식댓글2 (groupId: 1, parentId: 1) 그룹2 부모댓글2 (groupId: 2) 자식댓글1 (groupId: 2, parentId: 2) 그룹3 부모댓글3 (groupId: 3) 이런식으로 그룹별로 묶어서 조회해서 뿌려주는 방식으로 구현했습니다. 다들 어떤 방식으로 구현하시는지 궁금합니다..!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

권혁진님의 프로필 사진

제 생각엔 굳이 그룹 만들 필요 없이 댓글과 대댓글 1대다 관계로 구현하면 될거 같아요 부모 댓글 자체가 그룹이라고 생각이 들기두 하구요

profile picture

익명

작성자

2024년 02월 14일

아하 구현자체는 더 간단하더라구요 리팩토링 할 때 그 방식으로 해봐야겠네여 ㅎㅎ 답변 감사합니다!

장준영님의 프로필 사진

시스템 설계라는 것이 주어진 환경을 이해하는 것에서부터 출발하다보니 정답은 없어요. 글쓴이분이 적어주신 방법도 나쁘지 않습니다. 도메인이 어떻게 구현되어 있는지 몰라서 자세히 적긴 어렵겠으나 확장성을 고려한다면 댓글 도메인을 별도로 분리해서 NoSQL 에 도메인 본인의 아이디와 댓글 내용, 생성 시점, 다른 댓글을 참조할 경우 참조할 아이디 등, 조회시 필요한 데이터를 넣어두고 사용할 것 같아요. 만약 참조하는 댓글이 있다면 대댓글일 것이고, 그렇지 않다면 상위 댓글일 테니까요. 이렇게 할 경우 대댓글의 대댓글 같은 요구사항이 들어와도 쉽게 구현해낼 수 있습니다. 확장이 편하도록 만들어졌기 때문에요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!