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 |