반응형
- Enum 필드
@Enumerate(EnumType.STRING) // 값이 문자열로 저장 (enum의 이름을 저장)
@Enumerate(EnumType.ORDINAL) // 값이 숫자값으로 저장(enum의 순번 값)
- 날짜 필드
@Temporal : 어노테이션 사용. 값으로 @TemporalType을 넘겨준다.
@TemporalType
- DATE(날짜), TIME(시간), TIMESTAMP(날짜와 시간을 포함)
@Lob : LargeOBject. 문자열은 CLOB, 이외엔 BLOB으로 저장된다.
- CLOB : 문자 대형 객체
- BLOB : 이진 대형 객체(사진, 동영상 등)
| 어노테이션 | 설명 |
| @Column | 컬럼 매핑 |
| @Temporal | 날짜매핑 |
| @Enumerate | enum 타입 매핑 |
| @Lob | BLOB, CLOB 매핑 |
| @Transient | 매핑을 안함(메모리에서만 사용, 저장X) |
@Column
| 속성 | 설명 | 기본값 |
| name | 필드와 매핑 할 테이블의 컬럼 명 | 객체의 필드이름 |
| insertable, updatable | insert, update 여부 | true |
| nullable(DDL) | null값 허용 여부. false로 설정 시 DDL 생성시 not null 제약조건이 붙는다. | |
| unique(DDL) | @Table의 uniqueConstraint와 같지만, 한 컬럼에 간단히 유니크 제약조건을 걸때 사용 | |
| columnDefinition(DDL) | 데이터베이스 컬럼 정보를 직접 입력 ex) varchar(100) default 'EMPTY' |
|
| length(DDL) | 문자열 길이 제약조건. String에서만 동작함. | |
| precision, scale(DDL) |
반응형
'Spring > JPA' 카테고리의 다른 글
| [2022-09-13] 데이터베이스 스키마 (0) | 2022.09.14 |
|---|---|
| [2022-07-17] 엔티티 매핑 (0) | 2022.07.18 |
| [2022-07-09]영속성 컨텍스트 (0) | 2022.07.10 |