JPA
[JPA] 데이터베이스 스키마 자동 생성
행복하개!
2020. 10. 11. 01:29
DDL을 애플리케이션 실행 시점에 자동 생성하는 기능이다. 데이터베이스 방언을 활용해서 데이터베이스에 맞는 적절한 DDL 생성한다. 이렇게 생성된 DDL은 개발 장비에서만 사용하고, 생성된 DDL은 운영서버에서는 사용하지 않거나, 적절히 다듬 은 후 사용해야한다.
Option | Description |
create | 기존테이블 삭제 후 다시 생성 (DROP + CREATE) |
create-drop | create와 같으나 종료시점에 테이블 DROP |
update | 변경분만 반영(운영DB에는 사용하면 안됨) |
validate | 엔티티와 테이블이 정상 매핑되었는지만 확인 |
none | 사용하지 않음 |
<property name="hibernate.hbm2ddl.auto" value="여기에 Option이 들어감" />
개발 초기 단계에서는 create와 update를 마음대로 사용해도 되지만 테스트 서버에는 update또는 validate만 사용한다. 그 이유는 테스트를 위해 삽입해둔 데이터가 create와 같은 옵션을 사용하면 다 날라가기 때문이다. 주의해야하는 점은 운영 서버에는 create, create-drop, update를 하면 안된다. validate나 none을 하거나 그냥 아예 사용하지 말아야한다.