티스토리 뷰

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
댓글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근에 올라온 글
Total
Today
Yesterday
공지사항