[JPA] 데이터베이스 스키마 자동생성

19·2022년 9월 21일
0

JPA

목록 보기
6/18

데이터베이스 스키마 자동생성

JPA에서는 애플리케이션 로딩 시점에 DB 테이블을 생성하는 기능을 지원한다.

테이블을 먼저 만들고, 객체를 만드는 형태로 개발했었는데, JPA를 사용하면 객체 매핑을 다 해놓고 애플리케이션을 로딩할 때 테이블이 알아서 만들어진다
테이블 중심 -> 객체 중심

데이터베이스 방언을 활용해서 데이터베이스에 맞는 적절한 DDL을 생성한다.

DDL을 애플리케이션 실행 시점에 자동 생성하는 기능이다.
hibernate.hbm2ddl.auto

※ 속성

create
- 기존테이블 삭제 후 다시 생성 (DROP + CREATE)

create-drop
- create와 같으나 종료시점에 테이블 DROP

update
- 변경분만 반영(운영DB에는 사용하면 안됨)
- 삭제는 X

validate
- 엔티티와 테이블이 정상 매핑되었는지만 확인

none
- 사용하지 않음

운영에서 사용 X (create, create-drop, update), 개발단계에서만 사용 O

  • 개발 초기 단계 : create or update
  • 테스트 서버 : update or validate
  • 스테이징, 운영 서버 : validate or none (하지만 가급적 쓰지 말자)



참고

자바 ORM 표준 JPA 프로그래밍 - 기본편 - 김영한

profile
하나씩 차근차근

0개의 댓글