작성
·
269
3
안녕하세요. 현업에서 JPA로 개발하고 있는 주니어 개발자입니다.
사이드 프로젝트를 진행하면서 **DBMS**단에서 Enum을 사용할 지 VARCHAR를 사용할 지 별도의 Table을 사용할 지 고민을 하고 있습니다.
관련하여 향로님께서 써주신 Enum 활용기라는 글을 비롯한 우아한 형제들 기술 블로그에 있는 다른 Enum 내용을 모두 정독하였습니다.
하지만 Java 앱 단에서 Enum을 사용한다는 사실은 찾을 수 있었지만, DB에서 데이터를 저장하는 방식은 찾을 수 없었습니다.
이해한 바로는 해당 게시글에서는 Java(JPA)단에서는 Enum을 사용하고 DBMS에서는 VARCHAR, CHAR로 데이터를 저장하는 것 아닐까 싶은데 잘 이해한건가요?
(만약 그렇다면 다른 프로젝트에서 해당 DB 테이블을 사용할 때 어떤 입력 값을 받아야 하는 지 알기 위해 어떻게 해야 할까요..??)
> 강의 매우 잘보고 있습니다. 거의 다 2번 이상씩 본 것 같아요..!! 감사합니다. (혹여 무례하지 않다면 질문에 대해 직접 말씀 듣고 싶습니다.)
(예시가 빠졌네요!)
가령 Account라는 테이블이 있다면 해당 Account의 상태로 ACTIVE, LOCKED, WITHDRAW, ...)을 저장해야 하는 경우 입니다.
답변 1
0
안녕하세요. ljh님, 공식 서포터즈 David입니다.
만약 그렇다면 다른 프로젝트에서 해당 DB 테이블을 사용할 때 어떤 입력 값을 받아야 하는 지 알기 위해 어떻게 해야 할까요..??
=> Enum 값의 목록이 필요하다면 별도의 테이블을 만들 것 같고, 그게 아니라면 VARCHAR를 사용할 것 같습니다.
DBMS의 enum 타입 사용에 대해서는 아래 글도 한 번 참고해주세요.
감사합니다.