[SpringBoot] 데이터베이스 스키마 자동 생성 옵션에 대해 알아보자 / spring.jpa.hibernate.ddl-auto

2023. 12. 26. 18:47·Framework/SpringBoot
spring.jpa.hibernate.ddl-auto에 대한 글입니다.

 

application.properties 에서 데이터베이스 관련 속성으로 spring.jpa.hibernate.ddl-auto를 많이 보셨을겁니다. 이 글에서는 이 속성과 주요 값들에 대해 알아보겠습니다.

 

spring.jpa.hibernate.ddl-auto

spring.jpa.hibernate.ddl-auto는 스프링 부트 애플리케이션에서 하이버네이트(Hibernate)를 사용할 때, 데이터베이스 스키마를 자동으로 생성, 수정 또는 유지하도록 할 수 있는 속성입니다. 이 속성을 설정함으로써 Hibernate가 데이터베이스 스키마를 자동으로 처리할 수 있습니다.

 

create

create는 애플리케이션 실행 시에 스키마를 새로 생성합니다. 기존 데이터베이스의 데이터는 모두 삭제됩니다.

spring.jpa.hibernate.ddl-auto=create

 

create-drop

create-drop은 애플리케이션을 시작할 때 스키마를 생성하고, 애플리케이션이 종료될 때 스키마를 삭제합니다.

spring.jpa.hibernate.ddl-auto=create-drop

update

update는 애플리케이션 실행 시에 스키마를 자동으로 업데이트합니다. 새로운 엔티티가 추가되거나 기존 엔티티의 변경이 반영됩니다. 하지만, 기존 테이블의 칼럼 삭제 등은 수행하지 않습니다. 

spring.jpa.hibernate.ddl-auto=update

 

validate

validate는 애플리케이션 실행 시에 스키마를 유효성 검증하며, 변경 사항은 적용하지 않습니다. 즉, 스키마와 엔티티 클래스 간의 불일치를 확인할 수 있습니다. 

spring.jpa.hibernate.ddl-auto=validate

none

none은 하이버네이트가 스키마를 자동으로 관리하지 않도록 합니다. 기존 스키마를 그대로 사용하며, 엔티티 변경 사항은 무시됩니다.

spring.jpa.hibernate.ddl-auto=none

'Framework > SpringBoot' 카테고리의 다른 글

[SpringBoot] application.properties에서 DB 정보 등 민감한 내용 분리하기  (0) 2024.03.13
[Spring] MappedSuperclass 사용하기  (0) 2024.02.14
[SpringBoot] created_at 처럼 엔티티 생성할 때 현재 날짜를 디폴트 값으로 지정하기 + 수정일 / Spring Data JPA automatic date creation  (0) 2023.12.24
[SpringBoot] 스프링 부트 data.sql이 실행되지 않을 때 (data.sql not working)  (0) 2023.12.24
[Spring] Rest Template란?  (0) 2023.09.09
'Framework/SpringBoot' 카테고리의 다른 글
  • [SpringBoot] application.properties에서 DB 정보 등 민감한 내용 분리하기
  • [Spring] MappedSuperclass 사용하기
  • [SpringBoot] created_at 처럼 엔티티 생성할 때 현재 날짜를 디폴트 값으로 지정하기 + 수정일 / Spring Data JPA automatic date creation
  • [SpringBoot] 스프링 부트 data.sql이 실행되지 않을 때 (data.sql not working)
hurlud
hurlud
나와 같은 궁금증을 가진 사람들을 위해 오늘도! 🐥
  • hurlud
    주독야독
    hurlud
  • 전체
    오늘
    어제
  • 최근 글

    • ALL (106)
      • CS (13)
      • Linux (2)
      • Deploy (7)
        • AWS (6)
        • Docker (1)
      • IDE (13)
        • IntelliJ (5)
        • Android Studio (8)
      • DB (10)
        • MySQL (6)
        • MongoDB (4)
      • Programming Language (20)
        • JavaScript (10)
        • Java (8)
        • Python (2)
      • Framework (32)
        • Node.js (6)
        • SpringBoot (17)
        • React (6)
        • NestJS (2)
      • Git | Github (4)
      • ETC (5)
      • Akka (0)
  • 링크

    • 깃허브
  • hELLO· Designed By정상우.v4.10.0
hurlud
[SpringBoot] 데이터베이스 스키마 자동 생성 옵션에 대해 알아보자 / spring.jpa.hibernate.ddl-auto
상단으로

티스토리툴바