티스토리 뷰

language/kotlin

@Enumerated(EnumType.STRING)

daeuun 2023. 2. 12. 01:25

Enum 클래스를 만들고, Entity의 해당하는 컬럼을 Enum클래스로 type 변경

enum class BookType {
    COMPUTER,
    ECONOMY,
    SOCIETY,
    LANGUAGE,
    SCIENCE,
}
//val type: String,
val type: BookType,

 

 

컬럼에 Enum 타입을 지정해주지 않으면?

디비에 0, 1, 2,... 처럼 순서대로 숫자 데이터가 들어간다.

 

 

 

문제점

1. 기존 Enum 의 순서가 바뀌면 치명적인 오류가 발생할 수 있다.!

2. 기존 Enum 타입의 삭제, 추가가 제한적이라 유지보수에 좋지 못하다.

 

 

 

@Enumerated(EnumType.STRING)

타입을 지정하면, (여기서는 STRING 으로 지정한다.) 지정된 타입으로 Enum class의 데이터가 데이터베이스에 들어간다.

@Enumerated(EnumType.STRING)
val type: BookType,

 

 

 

 

 

 

 

반응형