DB에서 Enum값을 String으로 넣으면 값이 크기때문에 int로 바꿔 공간을 최소화 시키고 간단하게 한다.
-Example
public enum Role {
USER,
MANAGER;
}
public class Client {
@Id
@Column(name = "client_index")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer clientIndex;
@Column(name = "client_id")
private String clientId;
@Column
private String password;
@Column
@Enumerated(EnumType.ORDINAL) //ORDINAL 사용!!!
private Role role;
}
-> Role이라는 Enum클래스를 int형으로 변환하고 싶으면 Client 클래스에서 role컬럼에 @Enumerated(EnumType.ORDINAL)를 붙여준다.
📌 중요: @Enumerated(EnumType.ORDINAL)를 사용하면 Enum클래스에서 위부터 차례대로 0으로 시작한다.
즉, 위의 예시에서 USER는 0, MANAGER는 1로 DB에 저장된다.