JPA

hibernate.hbm2ddl.auto 속성

fmoths 2021. 1. 10. 17:40

1. create : 기존 테이블을 삭제하고 새로 생성한다. (DROP + CREATE)

2. create + drop : create 속성에 추가로 애플리케이션을 종료할 때 생성한 DDL을 제거한다. (DROP + CREATE + DROP)

3. update : 데이터베이스 테이블과 엔티티 매핑정보를 비교해서 변경사항만 수정한다.

4. validate : 데이터베이스 테이블과 엔티티 매핑정보를 비교해서 차이가 있으면 경고를 남기고 애플리케이션을 실행하지 않는다. 이 설정은 DDL을 수정하지 않는다.

5. none : 자동 생성 기능을 사용하지 않으려면 hibernate.hbm2ddl.auto 속성 자체를 삭제하거나 유효하지 않는 옵션 값을 주면 된다. (참고로 none은 유효하지 않는 옵션 값이다.)

 

- 주의사항

운영서버에서는 DDL을 수정하는 create, create-drop, update 옵션을 절대 사용하면 안된다. 오직 개발단계 에서만 사용해야한다.

 

개발 초기 단계는 create, update

초기화 상태로 자동화된 테스트를 진행하는 개발자 환경과 다른 CI서버는 create 또는 create-drop

테스트 서버는 update, validate

스테이징과 운영서버는 validate, none