Web/JPA

엔티티 매핑

프로그래멍 2020. 1. 31. 01:56

#객채와 테이블 매핑

 - @Entity가 붙은 클래스는 JPA가 관리한다.

 - JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 어노테이션 필수

 

 *속성 정리

 -name

    : JPA에서 사용할 엔티티 이름을 지정한다

     기본값 : 클래스 이름을 그대로 사용 (예: Member)

     같은 클래스 이름이 없으면 가급적 기본값을 사용

 -Table

    : 엔티티와 매필 할 테이블 지정 (DB)

    (속성 : name - 매핑할 테이블 이름 , catalog , schema,  uniqueConstraints - DDL 생성 시 유니크 제약조건 생성)

 

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

 • DDL을 애플리케이션 실행 시점에 자동 생성

 • 테이블 중심 -> 객체 중심 

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

 • 이렇게 생성된 DDL은 개발 장비에서만 사용

 • 생성된 DDL은 운서버에서는 사용하지 않거나, 적절히 다듬 은 후 사용

 

<property name="hibernate.hbm2ddl.auto" value="create" />

       운영 장비에는 절대 create, create-drop, update 사용하면 안된다. 

 

create         기존테이블 삭제 후 다시 생성 (DROP + CREATE) 
create-drop  create와 같으나 종료시점에 테이블 DROP
update        변경분만 반영
validate       엔티티와 테이블이 정상 매핑되었는지만 확인
none          사용하지 않음