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

warscodev님의 프로필 이미지

작성한 질문수

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

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

21.03.25 03:24 작성

·

398

0

안녕하세요.

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

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

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

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

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

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

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

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

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

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

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

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

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

답변 1

1

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

2021. 03. 25. 22:40

안녕하세요. 우진님

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

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

select item from CategoryItem cateItem

join cateItem.item as item

where category = :category

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

감사합니다.

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

2021. 03. 25. 23:07

친절한 답변 감사합니다!

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

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

2021. 03. 25. 23:09

네 우진님 화이팅^^!