(SpringBoot) Enum 사용하기 - `@Enumerated`
16 Feb 2017
|
springboot
jpa
enum
enumrated
OKKY-enum 활용에서 enum 공통모듈까지 글을 보고 괜찮다 싶어서 제가 만들어 놨던 프로젝트에 적용해 보았습니다.
우선 아래와 같이 enum
을 선언했습니다.
Entity객체를 통해 테이블 컬럼에 ‘L’, ‘M’, ‘S’값을 저장할 예정이며 아래와 같이 설정하였습니다.
위와 같이 @Enumerated
어노테이션을 선언해주면 해당 컬럼은 enum
객체를 이용하여 저장하겠다고 선언이 되며 value값은 아래와 같이 설정 할 수 있습니다.
- EnumType.ORDINAL
enum
객체의 ordinal()
메서드를 이용하여 컬럼값을 저장합니다.
- EnumType.STRING
enum
객체의 name()
메서드를 이용하여 컬럼값을 저장합니다.
Repository에서는 아래와 같이 enum
객체를 이용하여 불러오기가 가능해집니다.
Controller에서도 자동 맵핑이 가능한데 @InitBinder
를 이용할 수 있습니다.
위와 같이 설정하면 ‘/list?enumCode=L’과 같이 호출시 enumCode는 @InitBinder
구문에 의해 자동으로 enum
객체로 변경되어 파라메터 맵핑됩니다.
참고
OKKY-enum 활용에서 enum 공통모듈까지
JPA and Enums via @Enumerated
Comments