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을 하거나 그냥 아예 사용하지 말아야한다.
'JPA' 카테고리의 다른 글
[JPA] 여러가지 연관관계 매핑 (0) | 2020.10.16 |
---|---|
[JPA] 연관관계 매핑 기초 (0) | 2020.10.12 |
[JPA] 엔티티 매핑 어노테이션 (0) | 2020.10.10 |
[JPA] 영속성 컨텍스트 생명주기2 (0) | 2020.10.08 |
[JPA] 영속성 컨텍스트 생명주기 (0) | 2020.10.08 |