Java Framework/Spring Boot
[Spring Boot] JPA Hibernate DDL Auto
annovation
2024. 12. 11. 13:03
spring.jpa.hibernate.ddl-auto
Hibernate가 애플리케이션 시작 시 데이터베이스 스키마를 어떻게 관리할지를 설정합니다.
- DDL은 테이블 생성, 변경, 삭제와 같은 데이터 정의 작업을 담당합니다.
주요 옵션
# DDL(Data Definition Language) 동작 방식 설정
spring.jpa.hibernate.ddl-auto=update
- none : DDL 작업을 수행하지 않음
- create : 애플리케이션 시작 시 기존 테이블을 삭제하고 새로 생성
- create-drop : 애플리케이션 종료 시 테이블 삭제
- update : 기존 테이블은 유지하며 엔티티 변경 사항을 반영
- validate : 데이터베이스와 엔티티가 일치하는지 확인만 함
* 주의 : update는 개발 환경에서는 편리하지만, 운영 환경에서는 권장되지 않습니다. 운영 환경에서는 none 또는 validate를 주로 사용합니다.
요약
- 애플리케이션은 H2 데이터베이스와 상호작용하며, H2에 맞는 SQL 문법을 사용합니다.
- 엔티티 클래스 변경 사항이 있을 경우, 애플리케이션 시작 시 데이터베이스 테이블을 자동으로 업데이트합니다.
- 주로 개발 환경에서 데이터베이스 스키마를 자동 관리하기 위해 사용됩니다. 운영 환경에서는 수동으로 스키마를 관리하거나 안정성을 위해 ddl-auto=validate를 사용하는 것이 좋습니다.
출처
OpenAI의 ChatGPT (https://openai.com)
반응형