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개의 댓글

관련 채용 정보