inblog logo
|
codingb
    Spring

    댓글 목록 보기 세팅 및 Reply 테이블 생성

    coding S's avatar
    coding S
    Mar 20, 2024
    댓글 목록 보기 세팅 및 Reply 테이블 생성
    notion image
    💡
    일단 클래스를 다 만들어 놓고 시작 !
     

    [ ReplyJPARepository ]

    package shop.mtcoding.blog.reply; import org.springframework.data.jpa.repository.JpaRepository; public interface ReplyJPARepository extends JpaRepository<Reply, Integer> { }
     

    1. 관계 살펴보기

    1-1. user는 게시글에 댓글을 여러개(N개) 작성 가능 (user - 1 / reply - N) 1-2. 댓글(N) 1개는 유저 1명이서 만들어 낼 수 있다. 2. 게시글(1)에 댓글(N) 여러개 적을 수 있음. (게시글 - 1 / reply - N)
    💡
    엔포드 = 1 (프라이머리키) : N (포링키, 드라이빙 테이블)
     

    2. Reply 테이블 생성

    package shop.mtcoding.blog.reply; import jakarta.persistence.*; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import org.hibernate.annotations.CreationTimestamp; import shop.mtcoding.blog.board.Board; import shop.mtcoding.blog.user.User; import java.sql.Timestamp; @NoArgsConstructor @Data @Table(name = "reply_tb") @Entity public class Reply { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String comment; @ManyToOne(fetch = FetchType.LAZY) private User user; @ManyToOne(fetch = FetchType.LAZY) private Board board; @CreationTimestamp private Timestamp createdAt; @Builder public Reply(Integer id, String comment, User user, Board board, Timestamp createdAt) { this.id = id; this.comment = comment; this.user = user; this.board = board; this.createdAt = createdAt; } }
    notion image
     

    3. 더미 데이터 넣기

    insert into reply_tb(comment, board_id, user_id, created_at) values('댓글1', 4, 1, now()); insert into reply_tb(comment, board_id, user_id, created_at) values('댓글2', 4, 1, now()); insert into reply_tb(comment, board_id, user_id, created_at) values('댓글3', 4, 2, now()); insert into reply_tb(comment, board_id, user_id, created_at) values('댓글4', 3, 2, now());
    💡
    더미를 확실하게 인지하자! (더미를 막 만들지 마라. 시나리오를 생각하고 만들어라!) 게시글 4번에 댓글 3개(ssar, cos, love) 있음. 게시글 3번엔 댓글(cos) 있음. 1번과 2번 게시글에는 댓글 x / 3번 글 - 댓글 1개 / 4번 글 - 댓글 3개 → 이런 식으로 파악이 되어있어야 함!
     
    Share article

    codingb

    RSS·Powered by Inblog