-
Enum 열거형 선언(엔터티 내, 별도 엔터티)SpringBoot 2024. 3. 2. 01:13
이번 프로젝트를 진행하면서, Enum type로 변수를 사용할 일이 있어 두 방법으로 열거형 변수를 선언하여 활용해 봤다.
1. 별도의 Enum Class 활용
@ToString @Getter public enum Feel { //sat as 4 type ALIVE, LITTLE, FULLY, DEATH; }
일반 엔터티 클래스처럼 enum 타입으로 별도의 .java 파일을 두어 관리했다.
보통 각 열거형에 대해서 숫자/문자열 타입의 속성을 추가하기도 하지만, 이번 프로젝트에서는 필요하지 않았음.
@Enumerated(EnumType.STRING) private Feel hangOver;
그리고 위의 enum 타입을 활용하는 엔터티 클래스에서는 이런 식으로 필드 선언을 해주었다.
@Enumerated 어노테이션을 통해 DB에는 해당 열거형 상수의 이름이 String(문자열) 형태로 저장되는데,
test 시 열거형에서 선언된 요소 외의 값을 입력 후 요청하면 404 bad request가 발생하는 것을 보아
해당 hangOver 필드는 열거형 타입임을 알 수 있음.
2. 엔터티 클래스 내에서 선언
public enum Feel { //sat as 4 type ALIVE, LITTLE, FULLY, DEATH; }
이 코드를 그대로 엔터티 클래스 내에서 사용(선언)하여 사용했었다. 그런데? 결국은 1번의 방법으로 수정함.
아무래도 분리도와 가독성 측면에서도 전자의 방법이 더 효율적일 듯하다.
'SpringBoot' 카테고리의 다른 글
Part 4(Ch 7, 8, 9) - M:N(다대다) 관계와 파일 업로드 처리 (0) 2024.01.15 ch5, 6 - N:1(다대일 관계) 처리하기(+ @RestController와 JSON 처리) (0) 2024.01.02 ch4 - 방명록 프로젝트 톺아보기 (0) 2023.12.28 ch2 - Spring Data JPA (0) 2023.12.21 [5주차] 댓글 CRUD 구현 (0) 2023.12.04