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를 주로 사용합니다.


요약

  1. 애플리케이션은 H2 데이터베이스와 상호작용하며, H2에 맞는 SQL 문법을 사용합니다.
  2. 엔티티 클래스 변경 사항이 있을 경우, 애플리케이션 시작 시 데이터베이스 테이블을 자동으로 업데이트합니다.
  3. 주로 개발 환경에서 데이터베이스 스키마를 자동 관리하기 위해 사용됩니다. 운영 환경에서는 수동으로 스키마를 관리하거나 안정성을 위해 ddl-auto=validate를 사용하는 것이 좋습니다.

출처

OpenAI ChatGPT (https://openai.com)

반응형