inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

다대일 [N:1]

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

357

화이

작성한 질문수 11

0

만약 시나리오가 

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

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

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

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

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

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

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

java JPA

답변 3

1

OMG

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

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

@OneToMany

public class School

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

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

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

감사합니다. 

0

김영한

안녕하세요. 화이님

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

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

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

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

감사합니다.

0

화이

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

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

생각해주시면 됩니다.

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

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

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

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

벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?

0

33

2

inheritance startegy 선택시 고려사항

0

24

1

Entity 동등성 비교

0

23

1

실무 조언 관련 질문입니다.

0

48

1

H2데이터베이스 파일 생성

0

58

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

0

56

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

58

1

JPQL 메소드와 락

0

55

1

Delivery @OneToOne

0

61

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

97

2

UnsupportedOperationException 발생

0

86

3

H2 Database 연결이 안됩니다.

0

98

2

연관관계 매핑 질문드립니다.

0

88

2

h2데이터베이스 실행오류

0

110

2

persistence.xml

0

112

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

83

1

영속성 컨텍스트

0

69

1

JPA 프록시

0

98

1

Native Query와 MyBatis

0

71

1

영속성 컨텍스트는 어떤 메모리에 저장되는건가요?

0

92

1

임베디드 타입 예시 코드 관련 질문

0

121

3

명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요

0

96

3

인텔리제이 패키지 커서 단축키 질문

0

109

2

혹시 현재는 ID 데이터 타입이 String이면 안되나요?

0

149

1