본문 바로가기
Spring

[JPA] @Enumerated

by diaryDev 2024. 12. 9.
728x90

@Enumerated

enum 타입을 매핑할 때 사용

 

속성

속성 설명 기본값
value • EnumType.ORDINAL : enum 순서(숫자)를 DB에 저장
• EnumType.STRING   : enum 이름을 DB에 저장
EnumType.ORDINAL

주의! ORDINAL 사용x

 

예)

public enum OrderStatus {
	ORDER, CANCEL
}

 

@Enumerated(EnumType.ORDINAL)
private OrderStatus orderStatus;

@Enumerated(EnumType.STRING)
private OrderStatus orderStatus;

 

ORDINAL 사용 ORDER = 0, CANCEL = 1
숫자로 저장
STRING 사용 "ORDER", "CANCEL"
문자로 저장

 

 

다음과 같이 PAYMENT가 추가된다면 ORDINAL의 경우

ORDER = 0, PAYMENT = 1, CANCEL = 2으로 변경되어 문제가 발생할 수 있다.

public enum OrderStatus {
	ORDER, PAYMENT, CANCEL
}

 

 


 

 

참고

https://lovethefeel.tistory.com/72

728x90

'Spring' 카테고리의 다른 글

[JPA] @Transient  (0) 2024.12.23
[JPA] @Temporal  (1) 2024.12.20
[JPA] @Table  (0) 2024.12.06
[JPA] @Entity  (0) 2024.12.04
[JPA] @Column  (0) 2024.12.02