스프링 부트, 확장!

준비중..

스프링 부트, 확장!

댓글 기능 및 소셜 로그인!

22 댓글 테이블 만들기

# 댓글 테이블 만들기 ## 미션 --- 댓글 엔티티를 구현하고, JPA를 통해 생성된 테이블 구조를 확인하시오. ![클라우드스터딩-스프링부트-댓글-테이블-확인](https://i.imgur.com/OUp9oaR.png) ## 개념 --- 인터넷 기사, 블로그, 유튜브 등의 게시물을 보면, 하단부에 댓글을 볼 수 있다. 우리가 만들고 있는 Article에도 댓글을 달기 원한다. 이를 위한 Comment 엔티티를 설계하고, 테이블로 만들어보자. ![클라우드스터딩-스프링-부트-댓글-예-유튜브-블랙-핑크](https://i.imgur.com/VHust8R.png) ## 튜토리얼 --- #### ⭐️ 엔티티 클래스 1) 생성: "entity/Comment" ``` @Getter @ToString @Builder @NoArgsConstructor // 디폴트 생성자 자동 기입 @AllArgsConstructor // 모든 필드 포함 생성자 자동 기입 @Entity public class Comment extends BaseTime { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(length = 20, nullable = false) private String author; @Column(columnDefinition = "TEXT", nullable = false) private String content; } ``` #### ⭐️ 테이블 생성 2) 서버 재시작 후, 로그 확인 ``` create table comment ( id bigint generated by default as identity, created_at timestamp, updated_at timestamp, author varchar(20) not null, content TEXT not null, primary key (id) ) ``` #### ⭐️ h2-console 3) 테이블 확인 ![클라우드스터딩-스프링부트-댓글-테이블-확인](https://i.imgur.com/OUp9oaR.png) 4) 레코드 등록 ![클라우드스터딩-스프링부트-댓글-레코드-추가](https://i.imgur.com/8cgNNDU.png) 5) 레코드 조회 ![클라우드스터딩-스프링부트-댓글-레코드-조회](https://i.imgur.com/HAfnVOO.png) ## 훈련하기 --- - 임의의 댓글 3개를 만들고, 그 결과를 확인하시오. - 튜토리얼 과정 중 사용한 모든 SQL을 조사 및 분석하시오. - 튜토리얼 과정 중 출력된 insert 쿼리의 '?'에 들어간 값을 보는 방법? - 지금 눈에 보이는 것들 또는 자주 사용하는 사이트 3가지를 참고하여, 이들을 데이터로 설계하시오. ## 면접 준비 --- - "튜토리얼 과정 4)"에서는 id값을 null로 입력하여 데이터를 생성한다. 그런데 결과 레코드의 id값은 1로 되어있다. 그 이유는?