본문 바로가기

Spring/JPA

[2022-09-18] 필드와 컬럼매핑

반응형

- 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