엔티티 매핑의 종류
1. 객체와 테이블 : @Entity, @Table
2. 필드와 컬럼 : @Column
3. 기본 키 : @Id
4. 연관관계 : @JoinColumn 등
객체와 테이블 매핑
- @Entity
- JPA가 관리하는 엔티티라는 의미
- 기본 생성자가 필수 (파라미터가 없는 public 또는 protected 생성자)
- final, enum, interface,inner 클래스에는 사용할 수 없다.
- 데이터베이스에 저장하고 싶은 필드에는 final을 사용하면 안된다.
* 속성
- name : JPA에서 사용할 엔티티 이름 지정, 기본값으로 클래스 이름을 그대로 사용한다.
- @Table
- 엔티티와 매핑할 테이블을 지정한다.
* 속성
- name : 매핑할 테이블 이름을 지정한다.
- catalog : 카탈로그 매핑
- schema : 스키마 매핑
- uniqueConstraints : DDL 생성 시 유니크 제약 조건 생성
데이터베이스 스키마 자동생성이란?
- DDL을 애플리케이션 실행 시점에 자동으로 생성한다.
- 테이블 -> 객체 중심
- db 방언을 활용하여 데이베이스에 맞는 적절한 DDL 생성 -> 개발 장비에서만 사용한다.
* DDL 생성 기능
- 제약조건 추가 ex) @Column( nullable = false, length=9)
- 유니크 제약조건 추가
JPA의 실행 로직에는 영향을 주지 않는다!
- 운영 서버에서는 사용하지 않거나 다듬은 후 사용해야 한다.
* 속성
- create : 기존 테이블 삭제 후 다시 생성
- create-drop : 종료하는 시점에 테이블 드랍 (* 테스트 케이스 실행 시 좋음)
- update : 변경분만 반영 (운영에서는 사용 x)
- validate : 엔티티와 테이블이 정상 매핑되었는지 확인
- none : 사용하지 않음
728x90
'컴퓨터 > JPA' 카테고리의 다른 글
[자바 ORM 표준 JPA 프로그래밍] - 영속성 관리 (0) | 2023.09.18 |
---|