[ JPA ] 자주 쓰이는 어노테이션 정리

jwkwon0817·2023년 9월 2일
0

Web Back-end

목록 보기
11/26
post-thumbnail

1. @Entity

이 어노테이션이 붙은 클래스는 JPA에서 Entity로 선언할 수 있습니다.

2. @Table

Entity와 매핑할 Table을 지정할 수 있습니다.
* 기본적으로 클래스 이름과 동일한 이름의 테이블이 생성되지만 @Table의 name 속성으로 이름을 바꿀 수 있습니다.

3. @Id

테이블의 값들 중 Primary Key에 사용할 속성을 지정한다.
* SQL Query로 치면 primary key이고 테이블 당 단 하나밖에 생성할 수 없습니다.

4. @GeneratedValue

위에서 말한 @Id를 생성하는 전략을 설정할 수 있습니다.
생성 전략에 대한 정보 확인하기

5. @Column

이 어노테이션이 붙은 필드는 자동으로 테이블의 Column으로 적용됩니다.
(굳이 어노테이션을 붙이지 않아도 private 필드는 자동으로 Column의 대상이 됩니다.)
* @Column의 속성들로 nullable, 글자 수, 이름 등을 제어할 수 있습니다.
속성들에 관한 정보 확인하기

6. @Lob

BLOB, CLOB 타입을 매핑합니다.

7. @CreationTimestamp

값을 INSERT할 때, 시간을 자동으로 저장합니다.

8. @Enumerated

enum 타입을 매핑합니다.
* enum -> string(value)

9. @Transiet

해당 필드를 데이터베이스에 매핑하지 않습니다.

10. @Temporal

날짜 타입을 매핑합니다.

11. @CreatedDate

Entity가 생성되어 데이터ㅣ베이스에 저장될 때의 시간을 자동으로 저장합니다.

12. @LastModifiedDate

Entity의 값이 변경될 때의 시간을 자동으로 저장합니다.

profile
SRIHS 119th SW

0개의 댓글