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
}
참고
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 |