coo9292.log
로그인
coo9292.log
로그인
[JPA] 햇갈리는 JPA ddl-auto 모드 정리
Ceing
·
2025년 8월 31일
팔로우
0
JPA
JPA
목록 보기
13/15
create
기존 테이블 싹 밀고 새로 생성
개발 초기 DB 갈아엎을때 잠깐 씀
즉 운영 환경에선 절대 쓰면 안됨!!
create-drop
애플리케이션 실행 시 자동으로 생성 후 종료되는 시점에 자동으로 DROP
테스트 환경에서 유용
그래서 테스트와 실 application.properties 혹은 application.yml을 분리해서 테스트에선 해당 환경으로 설정하고 실에선 다르게 설정할 수도 있음
validate ★
DB 스키마는 손대지 않고 엔티티랑 매핑이 일치하는지만 검증(validate만 수행)
매핑 안 맞으면 실행 시점에 예외 발생(
SchemaValidationException
)
컬럼 타입은 DB마다 느슨하게 체크됨(
CHAR/VARCHAR
은 통과)
운영 환경에서 가장 많이 씀
, JPA가 DDL로 건들지 못하게 막고 검증만 하므로
update
기존 스키마 유지하면서 엔티티 변경분만 ALTER
개발할땐 편하지만 위험함, 컬럼 타입이 축소되거나 제약 조건이 변경된 것은 반영 안되거나 깨질 수 있음
none
JPA가 DDL 관련 작업 아무것도 안함
정리
운영: validate
테스트, 개발초기: create-drop, create, update
Ceing
이유에 대해 끊임없이 생각하고 고민하는 개발자
팔로우
이전 포스트
[JPA] 조회 시 인터페이스로
다음 포스트
[JPA] SQL로만 개발할 때의 문제 및 ORM 필요 이유
0개의 댓글
댓글 작성