JPA Enum Type 사용하는 방법
Enum을 사용할 필드에 아래와 같은 내용 추가
@Enumerated(EnumType.STRING)
private State state; // State.CREATED 가 저장될 예정입니다.
EnumType.STRING 은 이 내용을, value 가 아닌, name을 데이터 타입으로 사용하겠다는 의미이다.
데이터 베이스에는 아래와 같이 저장이 된다.
불러올 때도 마찬가지로 "CREATED" 라는 String 데이터가 저장된다.
아래와 같이 ORDINAL 타입은 사용하지 않는 것을 추천한다.
@Enumerated(EnumType.ORDINAL)
자바의 경우 enum 타입 내부의 필드 순서에 따라서 숫자값을 가지게 되는데 이는 순서가 바뀔 경우 숫자값에 해당하는 value 가 달라질 수 있기 때문에 이는 시스템에 아주 큰 문제를 일으킬 수 있기 때문이다.
'프레임워크 > JPA' 카테고리의 다른 글
JPA - 예상치 못한 변경 감지가 동작하는 경우 (0) | 2021.12.29 |
---|---|
JPA ToOne 관계 초기화 방법 vs 컬렉션 초기화 방법 (강제 초기화 되지 않는 문제 해결) (0) | 2021.08.27 |
자바 ORM 표준 JPA 프로그래밍 - JPA의 예외 처리 (0) | 2021.08.08 |
JPA In 절 사용하기 (where) (0) | 2021.05.24 |
댓글
이 글 공유하기
다른 글
-
JPA - 예상치 못한 변경 감지가 동작하는 경우
JPA - 예상치 못한 변경 감지가 동작하는 경우
2021.12.29 -
JPA ToOne 관계 초기화 방법 vs 컬렉션 초기화 방법 (강제 초기화 되지 않는 문제 해결)
JPA ToOne 관계 초기화 방법 vs 컬렉션 초기화 방법 (강제 초기화 되지 않는 문제 해결)
2021.08.27 -
자바 ORM 표준 JPA 프로그래밍 - JPA의 예외 처리
자바 ORM 표준 JPA 프로그래밍 - JPA의 예외 처리
2021.08.08 -
JPA In 절 사용하기 (where)
JPA In 절 사용하기 (where)
2021.05.24