목차
@Column
| 이름 | 기능 | 기본 값 |
|: ——————————— | :————————————————————————————————————————————————— |: ——- |
| name | 필드와 매핑할 테이블 컬럼 이름 | 객체의 필드 이름
| insertable | 등록 가능 여부 (true : 등록 가능, false : 등록 불가) | True
|updatable | 변경 가능 여부 (true : 변경 가능, false : 변경 불가)
| nullable (DDL) | null 값 허용 여부를 설정한다.
false 일 경우 not null 제약 조건 이 생성된다. |
| unique (DDL) | 한 컬럼에 대한 Unique 제약 조건 을 설정한다. |
| columnDefinition (DDL) | 데이터 베이스 컬럼 정보를 직접 줄 수 있다. | 필드의 자바 타입
| length (DDL) | 문자열 길이 제약 조건을 생성한다. (String 에서만 사용 가능) | 255
| precision (DDL)
scale (DDL) | BigDecimal 타입에서 사용한다.
precision 은 소수점을 포함한 자릿수를 scale 은 소수의 자릿수다.
double 과 float 타입에는 적용되지 않는다. |
@Enumerated
자바 Enum Type 을 매핑할 때 사용
- value
- EnumType.ORIGINAL : enum 순서를 데이터 베이스에 저장 (Integer)
- EnumType.STRING : enum 이름을 데이터 베이스에 저장 (String)
@Temporal
- value
- TemporalType.DATE : 날짜 정보, 데이터 베이스 date 타입과 Mapping
- TemporalType.TIME : 시간 정보, 데이터 베이스 time 타입과 Mapping
- TemporalType.TIMESTAMP : 날짜와 시간, 데이터 베이스 timestamp 와 Mapping
@Lob
데이터 베이스의 BLOB, CLOB 타입과 매핑할 때 사용된다.
- 별도로 설정할 수 있는 속성이 없다.
- 매핑할 수 있는 타입에 따라 매핑 타입이 다르다.
- 매핑하는 컬럼 타입이 문자열 : CLOB
- 나머지 : BLOB
@Transient
DB Table Column 과 객체 Field 정보를 매핑을 하고 싶지 않을 경우 사용
- DB 에서 저장 및 조회가 안된다.