JPA를 사용하는 데 가장 중요한 일은 엔티티와 테이블을 정확히 매핑하는 것!
객체와 테이블 매핑 : @Entity, @Table
기본 키 매핑 : @Id
필드와 컬럼 매핑 : @Column
연관관계 매핑 :@ManyToOne, @JoinColumn
@Entity
- JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 어노테이션을 필수로 붙여야 한다.
- @Entity가 붙은 클래스는 JPA가 관리한다.
@Entity 적용 시 주의사항
@Table
@Table은 Entity와 매핑할 테이블을 지정한다.
Table 속성 정리
- name 매핑할 테이블 이름, 엔티티 이름을 사용한다.
- catalog catalog 기능이 있는 데이터베이스에서 catalog를 매핑한다.
- schema schema 기능이 있는 데이터베이스에서 schema를 매핑한다.
uniqueConstraints DDL 생성 시에 유니크 제약조건을 만든다. 2개 이상 복합 유니크 제약조건도 만들 수 있다.
참고 : 이 기능은 스키마 자동 생성 기능을 사용해서 DDL을 만들 때만 사용한다.
제약조건 추가: 회원 이름은 필수, 10자 초과X
@Column 컬럼 매핑
@Temporal 날짜 타입 매핑
@Enumerated enum 타입 매핑
@Lob BLOB, CLOB 매핑
@Transient 특정 필드를 컬럼에 매핑하지 않음(매핑 무시)