티스토리 뷰
1. 데이터베이스 스키마 자동 생성의 장점
- DDL을 애플리케이션 실행 시점에서 자동으로 실행
- 테이블 중심에서 객체 중심으로 전환이 가능하다.
- 데이터베이스 방언을 활용하여 데이터베이스에 맞는 적절한 DDL을 생성한다.
- 이렇게 생성한 DDL은 개발 장비에서만 사용한다.
- 이렇게 생성된 DDL은 운영서버에서는 사용하지 않는다. ( 필요시 다듬은 후 사용 )
2. 데이터베이스 스키마 자동 생성의 속성 ( persistence.xml )
- [1] create : 기존 테이블을 삭제한 후 다시 생성한다. ( DROP + CREATE )
- [2] create-drop : create와 같으나 종료시점에서 테이블을 DROP한다.
- [3] update : 변경된 내용만 반영한다. ( 운영 DB에서는 사용하면 안된다. )
- + 단 update 속성의 경우, 추가시에는 인식이 되지만 삭제의 경우 변경내용으로 인식되지 않는다.
- [4] validate : 엔티티와 테이블이 정상 매핑되었는지만 확인한다.
- [5] none : 스키마 자동 생성을 사용하지 않겠다는 의미이다.
3. 데이터베이스 스키마 자동 생성을 사용할 때 주의점
- 운영 장비에서는 절대 create, create-drop, update를 사용하면 안된다. (***)
- 개발 초기 단계에서는 create 또는 update를 사용하면 된다.
- 테스트 서버에서는 update 또는 validate를 사용하면 된다.
- 스테이징과 운영 서버에서는 validate 또는 none을 사용하면 된다.
4. DDL 생성 기능
- [1] 제약조건 추가
- : ex. 회원이름은 필수이고 10자를 초과하면 안된다 - > @Column(nullable=false, length = 10)
- [2] 유니크 제약조건 추가
- : ex. @Table ( uniqueConstraints = {@UniqueConstraint{name="NAME_AGE_UNIQUE", columnNames = {"NAME", "AGE"}}}
- DDL 생성 기능은 DDL을 자동 생성할 때만 사용되고, JPA의 실행 로직에는 영향을 주지 않는다.
728x90
'[스터디] 김영한]' 카테고리의 다른 글
04. 엔티티 매핑 ( 1 ) - 엔티티 매핑의 종류 (0) | 2022.12.14 |
---|---|
03. 영속성 관리 (0) | 2022.11.30 |
02. Hello JPA 프로젝트 - JPA 연습 (0) | 2022.11.21 |
01. JPA와 모던 자바 데이터 저장 기술 (0) | 2022.11.16 |
댓글