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

화이님의 프로필 이미지
화이

작성한 질문수

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

다대일 [N:1]

다대일 연관관계 관련해서 질문이 있습니다.

작성

·

264

0

만약 시나리오가 

회원 아이디 '1'로 로그인.

로그인한 회원에 대한 학교를 조회할 경우,

학교 테이블과 회원 테이블은 다대일 관계이지만

학교 엔티티에서 회원 정보를 굳이 조회할 일도 없고, 

시스템 상 로그인한 회원에 대한 데이터만 조회할 경우 

그래도 학교 엔티티에 @ManyToOne 설정을 하는게 좋나요?

아니면 그냥 Long memberId 로 설정해도 괜찮을까요?

답변 3

1

안녕하세요. 화이님, 공식 서포터즈 OMG입니다.

제 생각에는 학교(1) : 학생(N) 인 것 같은데

@OneToMany

public class School

이 맞지 않을까요? 강의의 예제를 생각해봐도 학교 대신 team, 학생 대신 member로 보시면 될 것 같습니다.

만약 제가 이해한게 맞다면 강의에서 Member의 Team을 어떻게 조회했는지, Team에서 Member를 어떻게 조회했는지 를 보시면 방식은 크게 차이나지 않을 것 같습니다.

제가 잘못 이해한거라면 댓글 남겨주세요.

감사합니다. 

0

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

안녕하세요. 화이님

이것은 설계의 선택입니다.

둘다 장단점이 있는데, 서로 엮이는 일이 거의 없다면 단순히 id정보만 가지고 있어도 됩니다.

객체로 했을 때의 장점은 함께 조회할 때 JPA가 제공하는 최적화 기능들을 사용할 수 있다는 장점이 있습니다.

관련해서 JPA 강의를 끝까지 들어보시면 둘의 차이가 이해가 되실거에요.

감사합니다.

0

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

아 제가 너무 추상적으로 얘기한거 같네요.

간단히 하게 내가 다녔던 학교 이력? 이라고 

생각해주시면 됩니다.

핵심은 다대일 관계이지만 다에서 일을 조회할 일

도 없고 일에서 다 조회 시 위 상황처럼 로그인한

사용자의 id로 학교 데이터만 조회할 경우 어떤식

으로 구성하는게 좋은지 궁금합니다.

화이님의 프로필 이미지
화이

작성한 질문수

질문하기