DB 변경사항 비교하기

dev_314·2022년 8월 26일
0

JPA - Trial and Error

목록 보기
5/16

DB 비교

변경 전

변경 후

  1. 식별 관계를 전부 비식별 관계로 변경 (모든 테이블에 PK추가)
    • 이전에 Node.js로 구현했을 때는 데이터 정합성을 위해서 최대한 식별 관계로 설정하려고 했다.
    • 그런데 인강에서는 전부 비식별 관계로 설계하더라. 그래서 일단은 따라했다.
  2. User Table의 일부 필드 제거
    • 계획 변경: OAuth 사용 X -> Local Login만 지원 & Email 인증(새로운 Challenge)
    • 회원 등급 기능 제거

Trial and Error

1. spring.jpa.hibernate.ddl-auto

// application.properties
spring.jpa.hibernate.ddl-auto=create, create-drop, update, validate, none

create: 기존 table drop 후에 create 수행
create-drop: create 옵션 + 종료시 table drop
update: 기존 table에서 변경된 부분만 적용
validate: 엔티티와 테이블이 정상 매핑되었는지만 확인
none: 아무것도 수행 X

운영 환경에서는 create, create-drop, update 사용 금지

2. @ColumnDefault()

// @ColumnDefault()을 통해 DB Level의 기본값을 지정할 수 있다.

@Column(name = "DESCRIPTION", length = 900, nullable = false)
@ColumnDefault(value = "'hi'")
private String description;

@Column(name = "QUANTITY", nullable = false)    @ColumnDefault(value = "0")
private int amount;

To Do

  1. start.spring.io를 통해 설치한 Dependeny 내부 분석하기
  2. Lombok 내부 작동 방식 공부하기
  3. 식별 관계 vs 비식별 관계
    • FK 사용 안 하는 이유(?)
    • DB Index
profile
블로그 이전했습니다 https://dev314.tistory.com/

0개의 댓글