[Spring boot] ddl-auto 속성

BitedRadish·2025년 5월 17일
post-thumbnail

application.properties에서 사용하는 spring.jpa.hibernate.ddl-auto에 대한 설명입니다.

⭐️ ddl-auto

Hibernate가 애플리케이션 시작 시점에 DB 스키마(DDL)를 어떻게 처리할지 결정합니다.

설명실무 사용 여부
none아무 작업도 하지 않음. DB는 수동 생성해야 함✅ 운영 권장
validate매핑 정보와 DB 스키마가 일치하는지 검사만 수행. 불일치 시 예외 발생✅ 운영 또는 CI
update테이블·컬럼이 없으면 생성. 변경 사항도 반영하지만 삭제는 안 함⚠️ 개발 전용
create기존 테이블 전부 DROP → 새로 생성. 데이터 전부 삭제됨⚠️ 테스트/개발용
create-dropcreate와 동일하되, 애플리케이션 종료 시 테이블 DROP⚠️ 테스트 전용

SQLD를 땄는데 DDL, DML, DCL 기억이 안나서 다시 복기해보고자 작성해보겠습니다.

⭐️ DDL, DML, DCL, TCL

DDL(Data Definition Language)

테이블과 같은 데이터 구조를 정의하는 데에 사용되는 명령어들로 (생성, 변경, 삭제, 이름 변경) 데이터 구조와 관련된 명령어들을 의미합니다.

CREATE(테이블 생성),
ALTER(테이블 구조 변경),
DROP(테이블 구조 + 데이터 전체 삭제),
RENAME(이름 변경)
RUNCATE(테이블의 모든 데이터만 삭제)

DML (Data Manipulation Language)

SELECT, INSERT, UPDATE, DELETE

DCL (Data Control Language)

GRANT, REVOKE 데이터 베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어

TCL (Transaction Control Language)

논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업 단위별로 제어하는 명령어
COMMINT, ROLLBACK, SAVEPOINT

profile
코딩 주니어

0개의 댓글