JPA #5

KimSeonGyu·2023년 7월 30일
0

JPA

목록 보기
5/5
post-thumbnail

@Column

영속객체의 필드와 데이터베이스 테이블의 열(Column)을 매핑할 때 사용한다.

@Column의 속성
name해당 테이블의 열 이름 설정
nullableNULL 허용 여부 (default : true)
uniqueunique 제역 조건 여부 (default : false)
length문자(String)의 길이 지정 (default : 255)
precision숫자의 전체 자릿수 지정
scale소수점 이하 자릿수 지정
insertable엔티티가 저장될 때 컴럼이 저장될지 여부 (default : true)
updatable엔티티가 수정될 때 컬럼이 저장될지 여부(default : true)
table컴럼이 속상 테이블 지정
columnDefinition컬럼에 대한 정의를 직접 지정

@Temporal

영속 객체의 날짜 및 시간 필드에 적용한다.
자바의 날짜 및 시간 정보는 년, 월, 일, 시, 분, 초를 하나의 필드로 표현 가능하지만 데이터베이스에 따라 날짜, 시간, 날짜, 와 시간 컬럼의 타입이 다르기 때문에 @Temporal 어노테이션을 활용해서 지정해야 한다.

✓Java 8 이후 java.time 패키지의 LocalDate, LocalTime, LocalDateTime 을 사용할 경울 적용하지 않는다.

@Lob

RDBMS에서 대규모 데이터를 저장하기 위해 BLOB 또는 CLOB 데이터 유형을 지원한다.
@Lob 어노테이션이 선언된 객체의 필드 및 소석의 유형에 따라 자동으로 두가지 데이터 유형으로 구분된다.

BLOB(Binary Large Object) : 기가 바이트 까지의 이미지, 파일, 기타유형의 데이터를 저장
CLOB(Character Large Object) : 기가 바이트 까지의 긴 문자열 저장

주로 @Basic 언노테이션과 함께 LAZY 로딩으로 선언해서 사용

@Enumerated

열거형 유형을 정의한다.
Enum 유형으로 선언된 값은 배열과 동일하게 ordinal 이라 부르는 인덱스 값에 연결된다.
Enum 유형의 필드 또는 속성을 매핑하는 경우 기본값으로 EnumType.ORINDAL이 적용된다.
@Enumerated에 명시적으로 EnumType.String을 선언해서 데이터 베이스 필드에 문자열ㄹ을 저장할 수 있다.

@Transelent

필드를 영속화 하지 않고 싶을때 사용한다.
주로 실행 시점에 참조되는 필드 또는 계산되는 필드에 사용된다.

profile
공부한 내용을 작성하는 블로그 입니다. 수정할 부분이 있다면 편하게 댓글 작성부탁드립니다!

0개의 댓글