[ Enum ] JPA로 enum name 그대로 DB에 저장하기(@Enumerated) [ Enum ] JPA로 enum name 그대로 DB에 저장하기(@Enumerated) 최근에 Enum을 이렇게도 저렇게도 사용해보게 되었다. 그 동안 회사 프로젝트에서는 왜 사용을 안 했는지 정말 후회되는 Enum... 나 처럼 enum을 처음 사용해보는 사람은 JPA를 사용할 때 entity에 enum c pamyferret.tistory.com 위의 전 글에서 enum의 값을 DB에 name 그대로 저장하기 위해서 @Enumerated 어노테이션을 사용했었다. 하지만 이럴 경우 enum의 값이 변경 되었을 경우나 order 순서가 변경되었을 때 DB에 저장된 값과 enum의 값이 매칭되지 않아 문제가 발생할 ..
최근에 Enum을 이렇게도 저렇게도 사용해보게 되었다. 그 동안 회사 프로젝트에서는 왜 사용을 안 했는지 정말 후회되는 Enum... 나 처럼 enum을 처음 사용해보는 사람은 JPA를 사용할 때 entity에 enum class를 column으로 사용했을 때 DB에 원하던 enum 값(name)이 아니라 enum의 해당 값의 index가 들어가는 현상을 확인할 수도 있다. 예를 들어 아래와 같은 enum이 있다고 하자. @Getter public enum Menu { BULGOGI_PIZZA(10000, "PIZZA"), CHEESE_PIZZA(8000, "PIZZA"), POTATO_PIZZA(11000, "PIZZA"), ; } 또한 해당 Menu enum을 이용해서 아래와 같은 entity를 구성..
현재 SpringBoot 스터디를 하는 와중에 Enum이 포함되어 있는 Dto로 Controller에서 RequestBody로 값을 받는데 Enum에 없는 값을 RequestBody에 입력했을 때 위와 같은 에러가 발생했다. JSON parse error가 발생하는 이유 예를 들어 아래와 같은 Enum를 사용한다고 하자. public enum Test { TEST_A, TEST_B TEST_C TEST_D ; } 위와 같은 enum를 사용할 경우 RequstBody로 'TEST_A'를 받으면 자동적으로 enum에서 TEST_A랑 같다고 매칭시켜 TEST_A를 반환한다. 하지만, 만일 위에 없는 값인 'TEST_E'가 들어올 경우? json으로 받은 값이랑 매칭 시킬 enum이 없어서 'JSON parse..
- Total
- Today
- Yesterday
- 스프링부트
- 데이터베이스
- DATABASE
- eclipse
- postgres
- 역직렬화
- PostgreSQL
- JPA
- MAC
- enum
- springboot
- 어노테이션
- 공간데이터
- Intellij
- 캐싱
- annotation
- 이클립스
- Spring
- 캐시
- HttpClient
- 자바
- k8s
- Caching
- mockito
- cache
- 메시지큐
- DB
- ssh
- Java
- rabbitmq
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |