JPA Hibernate의 ddl-auto 속성은
Hibernate가 데이터베이스 스키마를 어떻게 자동으로 관리할지를 결정하는 설정이다.
1. none
- 자동 스키마 관리를 비활성화
2. validate
- 애플리케이션 실행 시, 엔티티 매핑이 데이터베이스 스키마와 일치하는지만 확인
- 스키마가 매핑과 일치하지 않으면 오류 발생
3. update
- 기존 스키마를 변경하지 않고 새 엔티티 또는 변경된 매핑에 필요한 새로운 필드 추가
- 기존 데이터를 유지하면서 스키마를 최신 상태로 유지할 수 있음
- 복잡한 스키마 변경이 필요한 경우 예상치 못한 문제가 발생할 수 있으므로
생산 환경에서는 주의해서 사용해야 함
4. create
- 애플리케이션 실행 시마다 스키마를 새로 생성
- 기존 테이블은 삭제되고, 애플리케이션의 엔티티에 맞춰 새로운 테이블이 생성됨
- 데이터의 영속성이 중요하지 않을 때 사용
5. create-drop
- create와 비슷하지만, 애플리케이션이 종료될 때 데이터베이스 스키마를 삭제
- 주로 통합 테이스 환경에서 사용되며, 테스트가 끝난 후 데이터베이스를
깨끗하게 유지할 수 있음