Post

(코딩 자율학습 스프링 부트3) 14장


댓글 엔티티와 리파지터리 만들기

게시판에 댓글 생성, 조회, 수정, 삭제하는 댓글 CRUD 기능을 구현한다

댓글 기능

일반적인 게시판을 보면 하나의 게시글에 수많은 댓글이 달린다, 이러한 관계를 one-to-many(1:n) 일대다 라고 부른다

DB에 값을 저장할때는 해당 게시글과 댓글간의 연결관계가 있어야하는데 테이블마다 자신을 대표하는 id가 존재하는데 id와 같이 자신을 대표하는 속성을 대표키(PK, Primary Key)라고 부른다, 대표키는 동일 테이블 내에서 절대 중복된 값이 없어야 한다 PK로 관계를 맺고 연관 대상을 가리키는 속성을 외래키(FK, Foreign Key)라 부른다

댓글 엔티티와 리파지터리의 설계

JPA(Java Persistence API)

  • 엔티티: DB 데이터를 담는 자바 객체로, 엔티티를 기반으로 테이블 생성
  • 리파지터리: 엔티티를 관리하는 인터페이스로, 데이터 CRUD 등의 기능 제공
graph LR
A(CommentRepository)-->B[Comment]
B-->C(DB)

앞서 게시판 작성을 위해 Article 엔티티와 ArticleRepository를 작성한 것처럼, 댓글 작성을 위한 Comment 엔티티와 CommentRepository를 만들도록 한다

Comment 엔티티 생성

[main/java/entity/Comment]

image

Comment 리포지터리 생성

[main/java/repository/CommentRepository]

image

Comment 더미 데이터 생성

[main/resources/templates/data.sql]

image

This post is licensed under CC BY 4.0 by the author.