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

yhw0104님의 프로필 이미지

작성한 질문수

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

회원, 주문 엔티티

해결된 질문

작성

·

339

0

질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

현재 JPA에 대해 공부하고 있는 학생입니다!!

강의를 듣다 궁금한 것이 생겨 질문합니다!!

강의에서 Member 테이블과 Order테이블이 다대일 양방향관계로 만들었습니다. 양방향으로 만들었기 때문에 member에서 order을 참조하여 해당 member가 order들을 찾을 수 있는데(member.getOrder()), 수업 자료에 "실무에서는 회원이 주문을 참조하지 않고, 주문이 회원을 참조하는 것으로 충분 하다."라는 말이 있어서 궁금증이 생겼습니다.

실무에서는 해당 테이블들을 다대일 단방향으로 연관관계를 매핑한다는 것인데, 그러면 member가 자신이 주문한 것들을 찾고싶을땐 어떤 방식으로 찾나요?

답변 1

1

안녕하세요. yhw0104님, 공식 서포터즈 y2gcoder입니다.

Order - Member가 다대일 단방향 관계일 때 Member의 Order 목록을 어떻게 볼 수 있을까에 대해 질문해주신 것으로 이해했습니다!

보통 실무에서는 Member에 대한 주문 목록을 불러오려는 시점에 이미 해당 Member에 대해 식별할 수 있는 정보를 갖고 있습니다. (id, email 등)

또한 Order에서도 Member의 id를 알고 있기 때문에(보통 외래키로 저장되어 있습니다.) 요청에서 받았거나 다른 식별 정보를 통해 조회한 Member id를 조건문으로 하여 Order 목록을 질의한다면 해당 Member에 대한 주문 목록을 가져올 수 있습니다.

특히 Member의 id를 알고 있고 해당 Member id를 이용해 요청할 때는 바로 Member id를 통해 해당 Member의 Order 목록을 가져올 수 있기 때문에 오히려 더 간편하게 해당 Member의 Order 목록을 가져올 수 있습니다 :)

제가 설명을 어렵게 해서 더 복잡해보이지만 양방향으로 연관관계를 맺을 필요 없이 단방향 연관관계에서도 충분히 위에서 말씀하신 요구사항을 충족할 수 있습니다:)

감사합니다.

yhw0104님의 프로필 이미지

작성한 질문수

질문하기