DB 비교
변경 전
변경 후
- 식별 관계를 전부 비식별 관계로 변경 (모든 테이블에 PK추가)
- 이전에 Node.js로 구현했을 때는 데이터 정합성을 위해서 최대한 식별 관계로 설정하려고 했다.
- 그런데 인강에서는 전부 비식별 관계로 설계하더라. 그래서 일단은 따라했다.
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()
@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
- start.spring.io를 통해 설치한 Dependeny 내부 분석하기
- Lombok 내부 작동 방식 공부하기
- 식별 관계 vs 비식별 관계
- FK 사용 안 하는 이유(?)
- DB Index