
application.properties에서 사용하는 spring.jpa.hibernate.ddl-auto에 대한 설명입니다.
Hibernate가 애플리케이션 시작 시점에 DB 스키마(DDL)를 어떻게 처리할지 결정합니다.
| 값 | 설명 | 실무 사용 여부 |
|---|---|---|
none | 아무 작업도 하지 않음. DB는 수동 생성해야 함 | ✅ 운영 권장 |
validate | 매핑 정보와 DB 스키마가 일치하는지 검사만 수행. 불일치 시 예외 발생 | ✅ 운영 또는 CI |
update | 테이블·컬럼이 없으면 생성. 변경 사항도 반영하지만 삭제는 안 함 | ⚠️ 개발 전용 |
create | 기존 테이블 전부 DROP → 새로 생성. 데이터 전부 삭제됨 | ⚠️ 테스트/개발용 |
create-drop | create와 동일하되, 애플리케이션 종료 시 테이블 DROP | ⚠️ 테스트 전용 |
SQLD를 땄는데 DDL, DML, DCL 기억이 안나서 다시 복기해보고자 작성해보겠습니다.
테이블과 같은 데이터 구조를 정의하는 데에 사용되는 명령어들로 (생성, 변경, 삭제, 이름 변경) 데이터 구조와 관련된 명령어들을 의미합니다.
CREATE(테이블 생성),
ALTER(테이블 구조 변경),
DROP(테이블 구조 + 데이터 전체 삭제),
RENAME(이름 변경)
RUNCATE(테이블의 모든 데이터만 삭제)
SELECT, INSERT, UPDATE, DELETE
GRANT, REVOKE 데이터 베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어
논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업 단위별로 제어하는 명령어
COMMINT, ROLLBACK, SAVEPOINT