본문 바로가기
Back-End/Spring Boot

Spring Boot - 엔티티 매핑 관련 어노테이션

by 코젼 2022. 7. 22.
728x90
반응형

2022-07-21(24일차)

어노테이션 설명
@Entity 클래스를 엔티티로 선언 ( db에 테이블을 만들 것이다. )
@Table 엔티티와 매핑할 테이블을 지정 ( 테이블 명칭 지정 )
@id 테이블의 기본키에 사용할 속성을 지정 ( PK )
@GeneratedValue 키 값을 생성하는 전략 명시 ( 키 생성 방법 )
@Column 필드와 컬럼 매핑 ( 컬럼 명칭 정하기 )
@Lob BLOB, CLOB 타입 매핑 ( Binary large object, Charactor large object. db에서 기록할 때 다른 곳에 저장해두고 주소만 지정 )
@CreationTimestamp insert시 시간 자동 저장
@UpdateTimestamp update시 시간 자동 저장
@Enumerated enum 타입 매핑 ( 컴퓨터가 알아서 인덱스로 확인 )
@Transient 해당 필드 데이터베이스 매핑 무시 ( 건너뛰기 )
@Temporal 날짜 타입 매핑
@CreateDate 엔티티가 생성되어 저장될 때 시간 자동 저장
@LastModifiedDate 조회한 엔티티의 값을 변경할 때 시간 자동 저장

@Entity 어노테이션은 클래스의 상단에 입력하면 JPA에 엔티티 클래스라는 것을 알려준다.
Entity 클래스는 반드시 기본키를 가져야 한다.

@GeneratedValue 어노테이션을 통한 기본키를 생성하는 전략은 총 4가지이다.
▪️ GenerationType.AUTO (default) : JPA 구현체가 자동으로 생성 전략 결정
▪️ GenerationType.IDENTITY : 기본키 생성을 데이터베이스에 위임
▪️ GenerationType.SEQUENCE : 데이터베이스 시퀀스 오브젝트를 이용한 기본키 생성 - 순서대로
▪️ GenerationType.TABLE : 키 생성용 테이블 사용. @TableGenerator 필요

 

728x90
반응형

'Back-End > Spring Boot' 카테고리의 다른 글

Spring Boot - 쿼리 메소드  (0) 2022.07.22
Spring Boot - Repository 설계하기  (0) 2022.07.22
Spring Boot - Thymeleaf  (0) 2022.07.21
Spring Boot - JPA  (0) 2022.07.21
Spring Boot - 어노테이션 종류  (0) 2022.07.20

댓글