본문 바로가기
Spring Boot

[Spring Boot] JPA DDL 자동 생성

by NJ94 2024. 2. 19.

1. spring.jpa.hibernate.ddl-auto 

  • 데이터베이스 스키마를 생성, 변경, 삭제의 기능을 제어하는 데 사용됨 
  • 애플리케이션 실행 시점에 데이터베이스 테이블을 자동으로 생성하는 속성도 포함됨

 

2. 속성 

  • none
    • 아무런 작업을 수행하지 않음
  • validate
    • DB 테이블과 엔티티 매핑정보를 비교하여 차이가 있을시 에러 발생
    • DDL 수정하지 않음
  • update
    • 데이터베이스 테이블과 엔티티 매핑정보를 비교해서 변경 사항만 수정 
  • create
    • 기존 테이블 삭제, 신규 테이블 생성 (drop + create)
  • create-drop
    • 애플리케이션 종료 시, 생성한 DDL 삭제 (drop + create + drop)

 

3. 주의사항

  • 운영서버에서 create, create-drop, update 사용 금지
  • 개발 초기 단계
    • create, update
  • 초기화 상태의 테스트 필요 시
    • create, create-drop
  • 테스트 서버
    • update, validate
  • 운영서버
    • validate, none

 

3. application.properties

spring.jpa.hibernate.ddl-auto=create

 

 

 

참고

https://colabear754.tistory.com/136

 

[JPA] hibernate의 ddl-auto 속성의 종류와 주의해야할 점

목차 개요 JPA의 구현체 중 하나인 하이버네이트는 다양한 기능을 제공하는데 그 중 엔티티만 등록해놓으면 DDL(Data Definition Language)을 자동으로 작성하여 테이블을 생성하거나 수정해주는 ddl-auto

colabear754.tistory.com