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

warscodev님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

JPA 연관관계 질문드립니다.

작성

·

408

0

안녕하세요.

JPA 강의를 듣고 연관관계부분 실습해보다 질문드립니다.

다대다 관계는 실무에서 사용하지 않는게 좋다고 하셔서

직접 중간테이블을 만들고 카테고리테이블, 카테고리_아이템 테이블, 아이템 테이블을 만들어

아래와 같이 구현해보려 했습니다.

간단히 엔티티 코드를 요약해보았습니다.

카테고리를 눌렀을 때  해당 카테고리에 Item 리스트를 불러오고

각각의 Item들에서도 카테고리 정보를 노출하고싶은데

어떻게 해야 할지 감이 잡히질 않습니다.

categoryItem의 Repository에서 쿼리문으로 조인하여 가져오는것은 매우 복잡할것같고

Item이나 Category의 엔티티 안에 메서드를 만들어서 가져와보려했는데

제 기본기가 부족해서 그런지 도저히 방법이 떠오르질 않네요.

어떤식으로 구현을 해야좋을지

대략적인 흐름을 간단히 조언해주시면 감사하겠습니다.

답변 1

1

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

안녕하세요. 우진님

JPQL을 대략 다음과 같이 작성하시면 됩니다.

결국 CategoryItem부터 접근하는 것이 가장 좋은 방법입니다.

select item from CategoryItem cateItem

join cateItem.item as item

where category = :category

추가로 학습중인 JPA 기본편에 이런 궁금증을 해결할 수 있는 키가 많으니 꼭 완강해주세요^^!

감사합니다.

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

친절한 답변 감사합니다!

완강 후에 다시 실습해보겠습니다^^

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

네 우진님 화이팅^^!