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 사용하지 않음