Spring에서 spring.jpa.hibernate.ddl-auto의 효과 이해
Spring에서는 spring.jpa.hibernate.ddl -auto 속성은 데이터베이스 스키마 관리에 중요한 역할을 합니다. 이 속성은 특히 스키마 생성 및 업데이트의 맥락에서 Hibernate가 기본 데이터베이스와 상호 작용하는 방법을 결정합니다.
spring.jpa.hibernate.ddl-auto는 어떻게 작동합니까?
spring.jpa.hibernate.ddl-auto 속성은 Hibernate의 hibernate.hbm2ddl.auto 구성 속성을 반영합니다. 이는 Hibernate가 영속적 엔터티에 대한 데이터베이스 스키마를 관리하는 방법을 제어합니다. 기본 옵션은 다음과 같습니다.
-
create: 이 값은 Hibernate가 기존 스키마를 삭제하고 정의된 엔터티 매핑을 기반으로 새 스키마를 생성하도록 지시합니다.
- create-drop: create와 유사하지만 각 세션이 닫힌 후 스키마를 삭제하므로 테스트에 이상적입니다. 시나리오.
-
검증: 이 옵션은 엔터티 매핑에 대해 기존 스키마를 확인하고 불일치가 감지되면 오류를 발생시킵니다.
-
업데이트: Hibernate는 기존 스키마를 엔터티 매핑과 비교하고 일치하도록 스키마를 업데이트하려고 시도하며 새 열과 제약 조건을 추가하지만 기존 제거는 방지합니다.
-
none: Hibernate는 기존 스키마를 그대로 유지합니다. 스키마 수정은 수행되지 않습니다.
개발 및 생산에 대한 권장 사항
-
개발: 개발 환경에서는 create- drop을 사용하면 개발 및 테스트 중에 데이터베이스 스키마를 신속하게 생성하고 테스트할 수 있습니다. 애플리케이션이 다시 시작될 때마다 깨끗한 스키마로 시작하는 빠르고 편리한 방법을 제공합니다.
-
프로덕션: 프로덕션 설정에서 spring.jpa.hibernate.ddl-auto를 없음으로 설정하는 것은 적극 권장합니다. 이렇게 하면 제어되고 테스트된 마이그레이션 스크립트를 통해 데이터베이스 스키마 수정이 처리됩니다. 이 접근 방식은 데이터베이스 안정성을 유지하고 프로덕션 스키마가 실수로 변경되는 것을 방지합니다.
위 내용은 spring.jpa.hibernate.ddl-auto는 Spring에서 내 데이터베이스 스키마를 어떻게 관리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!