인프런 커뮤니티 질문&답변

kim님의 프로필 이미지

작성한 질문수

실전! 스프링 데이터 JPA

네이티브 쿼리

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

20.01.12 09:02 작성

·

1.8K

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

김영한님의 프로필 이미지
김영한
지식공유자

2020. 01. 13. 01:16

안녕하세요. kim님^^

오랜만입니다. ㅎㅎ

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

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

1. @ElementColleciton을 사용하세요.

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

감사합니다^^

lee님의 프로필 이미지

2021. 11. 24. 17:28

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

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

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

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

0

kim님의 프로필 이미지
kim
질문자

2020. 01. 13. 09:48

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

0

김영한님의 프로필 이미지
김영한
지식공유자

2020. 01. 13. 09:15

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

kim님의 프로필 이미지

작성한 질문수

질문하기