🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

enum을 list로 어떻게 받는지 궁금합니다.

20.01.12 09:02 작성 조회수 1.56k

0


import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum RoleType {
USER("user","일반 유저"),
ADMIN("admin","관리자");

private final String roleCode;
private final String roleName;

}
이렇게 롤 타입이 있고, 이것을 유저에 매핑하면

@Enumerated(value = EnumType.STRING)
@Column(nullable = false)
private RoleType roleType;


보통 이런식으로 사용이 되는데
전 RoleType을 복수로 List<RoleType>로 갖게 하고 싶은데 이럴 땐
어떻게 하는지 궁금합니다.

p/s 다음 강의는 언제쯤 나올까여? ㅎㅎ querydsl기대중입니다!

답변 3

·

답변을 작성해보세요.

2

안녕하세요. kim님^^

오랜만입니다. ㅎㅎ

관계형 데이터베이스는 컬렉션 타입을 지원하지 않습니다.

결국! 새로운 테이블을 만들어야 합니다. 다음 2가지 방법이 있습니다. 어떤 방법을 사용하든 테이블은 새로 만들어야 합니다.

1. @ElementColleciton을 사용하세요.

2. 새로운 엔티티(MemberRole)를 만들고 그 안에 식별자(id)와 RoleType을 적용하세요. (추천)

감사합니다^^

lee님의 프로필

lee

2021.11.24

안녕하세요! 질문이 있어서 댓글 남깁니다. 

말씀해주신 2번 방법이 OneToMany 인지 ManyToMany인지 궁금합니다.

OneToMany 방법이라면 @ElementCollection도 OneToMany 방식을 사용하는데 객체를 따로 생성하는 이유가 있는지,

ManyToMany 방법이라면 김영한님 저서에 ManyToMany는 실무에서 가급적 피하라고 하셨는데 ManyToMany 방식을 사용하는 이유가 있는지 궁금합니다!

0

kim님의 프로필

kim

질문자

2020.01.13

감사합니다~ 강의 기대중입니다~

0

아 그리고 querydsl강의는 이번주 중에 출시 예정입니다^^!

채널톡 아이콘