목차

  1. Blog 테이블 만들기
    1. User (@GeneratedValue)
    2. Board (@JoinColumn / fetch = FetchType)
    3. Reply (@Builder / @Data / @NoArgsConstructor / @AllArgsConstructor)
  2. application.yml 설정
    1. ddl-auto:
    2. show-sql:
    3. hibernate.format_sql:

 

 

 

1. Blog 테이블 만들기 (User, Board, Reply)

 

1) User

** @GeneratedValue값을 자동으로 생성해서 할당 

 

  1. @Entity 설정하고 테이블 생성
  2. @Column으로 각 컬럼별 추가 설정

 

1. 테이블 작성

 

2. MySQL Workbench 적용 여부 확인

 

 

 

 


2) Board

** @JoinColumn : DB 내에서 Join 할 칼럼

  • name : Join 시키는 필드명

** fetch = FetchType : 해당 데이터를 언제 가져올지 설정

  • EAGER : 당장, 바로
  • LAZY : 필요할 때

 

  1. @Entity 설정하고 테이블 생성
  2. @Column으로 각 컬럼별 추가 설정
  3. 입력될 데이터 용량이 클 것으로 예상되는 칼럼은 @Lob 어노테이션 사용
  4. @ManyToOne, @JoinColumn...을 사용하여 칼럼 타입을 오브젝트로 작성 (FK로 사용)
  •  

 

1. 테이블 작성

 

2. MySQL Workbench 적용 여부 확인 (Board)

 

3. MySQL Workbench 적용 여부 확인 (Board_reply)

 

 

 

 

3) Reply

** @Builder : 매개변수 개수가 다양한 생성자 사용가능

** @Data : Getter, Setter 사용가능

** @NoArgsConstructor : 매개변수가 없는 생성자 사용가능

** @AllArgsConstructor : 모든 매개변수를 가진 생성자 사용가능

 

  1. @Entity 설정하고 테이블 생성
  2. @Column으로 각 컬럼별 추가 설정

 

1. 테이블 작성

 

2. MySQL Workbench 적용 여부 확인

 

 

 

 

2. application.yml 설정

 

1) ddl-auto:

  • 프로젝트 실행할 때마다 @Entity로 설정한 테이블을 어떻게 처리할지 설정
  • ddl-auto: create : 기존 테이블 삭제하고 테이블을 새로 생성(기존 테이블 내의 데이터도 사라짐) / 초창기 일회용으로만 사용
  • ddl-auto: update : 기존 테이블 유지

 

2) show-sql: true

  • @Entity로 작성한 테이블들을 console에 표기

 

3) hidernate.format_sql: true

  • @Entity로 작성한 테이블들을 console에 정렬해서 표기

 

1. ddl-auto, show-sql, hibernate.format_sql 설정

 

2. ddl-auto: create 라서 drop table 먼저 실행 후 테이블 새로 생성

 

 

+ Recent posts