자바의 enum 타입을 매핑할 때 사용하는 어노테이션입니다. 속성은 EnumType.ORDINAL과 EnumType.STRING이 있습니다. 기본값은 EnumType.ORDINAL이지만, EnumType.STRING을 사용하는 것을 권장합니다.
enum Part {
PLAN, DESIGN, ANDROID, iOS, WEB, SERVER
}
@Enumerated(EnumType.STRING)
private Part part;
enum에 정의된 순서대로 PLAN은 0, DESIGN은 1 ... 값이 데이터베이스에 저장됩니다.
장점 : 데이터베이스에 저장되는 데이터 크기가 작습니다.
단점 : 이미 저장된 enum의 순서를 변경할 수 없습니다.
enum 이름 그대로 PLAN을 'PLAN'으로, DESIGN을 'DESIGN'으로 저장합니다.
장점 : 저장된 enum의 순서가 바뀌거나, enum이 추가되어도 안전합니다.
단점 : 데이터베이스에 저장되는 데이터 크기가 ORDINAL에 비해서 큽니다.