대표적인 매핑 어노케이션
매핑 | 어노테이션 |
객체와 테이블 매핑 | @Entity, @Table |
기본 키 매핑 | @Id |
필드와 컬럼 매핑 | @Column |
연관관계 매핑 | @ManyToOne, @JoinColumn |
필드와 컬럼 매핑
분류 | 매핑 어노테이션 | 설명 |
필드와 컬럼 매핑 | @Column | 컬럼을 매핑한다. |
@Enumerated | 자바의 enum 타입을 매핑한다. | |
@Temporal | 날짜 타입을 매핑한다. | |
@Lob | BLOB, CLOB 타입을 매핑한다. | |
@Transient |
특정 필드를 데이터베이스에 매핑하지 않는다. (객체에 임시로 어떤 값을 보관하고 싶을 때 사용) |
|
기타 | @Access | JPA가 엔티티에 접근하는 방식을 지정 |
@Column
- 속성
속성 | 기능 | 기본값 |
name | 필드와 매핑할 테이블의 컬럼 이름 | 객체의 필드 이름 |
nullable | null 값의 허용 여부 | true |
columnDefinition | 데이터베이스 컬럼 정보를 직접 줄 수 있음 | |
length | 문자 길이 제약조건, String 타입에만 사용 | 255 |
precision, scale | precision은 소수점을 포함한 전체 자릿수, scale은 소수의 자릿수 | precision=19, scale=2 |
- 생략
- nullable 속성값은 기본값이 true 이다.
- 자바 기본 타입인 int data1을 DDL로 생성할 때는 not null 제약 족건을 추가하는 것이 안전하다.
int data1; // @Column 생략, 자바 기본 타입
data1 integer not null // 생성된 DDL
Integer data2; // @Column 생략, 객체 타입
data2 integer // 생성된 DDL
@Column
int data3; // @Column 사용, 자바 기본 타입
data3 integer // 생성된 DDL
@Enumerated
- EnumType.ORDINAL : enum 순서를 데이터베이스에 저장 (데이터크기 작음, enum 순서를 변경할 수 없음)
- EnumType.STRING : enum 이름을 데이터베이스에 저장 (ORDINAL에 비해 데이터크기 큼, enum 순서변경, 추가에 용이)
출처도서 : 자바 ORM 표준 JPA 프로그래밍 - 김영한 지음
'JPA' 카테고리의 다른 글
[개념] JPA 프로그래밍 - 07. 고급매핑 (0) | 2019.12.27 |
---|---|
[개념] JPA 프로그래밍 - 06. 다양한 연관관계 매핑 (0) | 2019.12.27 |
[개념] JPA 프로그래밍 - 05. 연관관계 매핑 기초 (0) | 2019.12.27 |
[개념] JPA 프로그래밍 - 03. 영속성 관리 (0) | 2019.12.27 |
[개념] JPA 프로그래밍 - 01. JPA 소개 (0) | 2019.12.27 |