반응형
- 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 |