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

Javanitto님의 프로필 이미지

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

값 타입 컬렉션

값 타입 컬렉션에 대해 궁금합니다.

작성

·

317

0

안녕하세요 영한님! 강의가 참 유익합니다 감사합니다.

강의를 다 마치고 개인 프로젝트를 만들어 보고 있는데, 궁금한 것이 생겨서 질문 올립니다.

Album이라는 도메인이 여러개의 Theme를 가질 수 있습니다. 이 Theme는 enum으로 {sad, happy, interresting..} 이런 식으로 미리 정해두고, 사용자는 자신의 Album에 맞는 Theme를 최대 5개를 선택하여 저장할 수 있습니다. 

생각나는 방법은 다음의 2가지입니다.

  1. Album에 String필드로 구분자를 이용해 저장하는 방법.
    • ex) sad%happy%interresting
  2. Album에 값타입 컬렉션으로 Set<Theme>을 넣는 방법. Theme는 enum.

저는 테마로 검색도 가능하도록 하고싶습니다. 검색 조건에 여러 Theme를 지정하여 해당 Theme를 모두 가진 Album만 조회하고 싶습니다. 두 방법 모두 제 생각엔 가능할 것으로 보이는데, 제가 궁금한 것은 무엇이 합리적인방법인지, 만약 흑백으로 가려지지 않는다면 장단점이 무엇인지 알 고 싶습니다.

답변 1

0

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

안녕하세요. 박민곤님

where에서 검색이 되려면 최소 값타입 컬렉션(또는 엔티티)은 사용하셔야 합니다.

2번 방법을 선택하시는 것이 맞습니다.