[JAVA / Spring Boot] ordinal의 단점

chaentopia·2024년 4월 16일
0

NOW SOPT SERVER 과제

목록 보기
10/14

2차 세미나

@Enumerated

자바의 enum 타입을 매핑할 때 사용하는 어노테이션입니다. 속성은 EnumType.ORDINAL과 EnumType.STRING이 있습니다. 기본값은 EnumType.ORDINAL이지만, EnumType.STRING을 사용하는 것을 권장합니다.

ex

enum Part {
	PLAN, DESIGN, ANDROID, iOS, WEB, SERVER
}

@Enumerated(EnumType.STRING)
private Part part;

EnumType.ORDINAL

enum에 정의된 순서대로 PLAN은 0, DESIGN은 1 ... 값이 데이터베이스에 저장됩니다.
장점 : 데이터베이스에 저장되는 데이터 크기가 작습니다.
단점 : 이미 저장된 enum의 순서를 변경할 수 없습니다.

EnumType.STRING

enum 이름 그대로 PLAN을 'PLAN'으로, DESIGN을 'DESIGN'으로 저장합니다.
장점 : 저장된 enum의 순서가 바뀌거나, enum이 추가되어도 안전합니다.
단점 : 데이터베이스에 저장되는 데이터 크기가 ORDINAL에 비해서 큽니다.

때문에 EnumType.STRING을 사용하는 것을 추천합니다.

profile
the pale blue dot

0개의 댓글