강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của jwan05109291
jwan05109291

câu hỏi đã được viết

Lập trình JPA tiêu chuẩn Java ORM - Cơ bản

Nhiều đối một [N:1]

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

Viết

·

339

0

만약 시나리오가 

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

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

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

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

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

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

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

javaJPA

Câu trả lời 3

1

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

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

@OneToMany

public class School

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

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

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

감사합니다. 

0

yh님의 프로필 이미지
yh
Người chia sẻ kiến thức

안녕하세요. 화이님

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

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

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

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

감사합니다.

0

jwan05109291님의 프로필 이미지
jwan05109291
Người đặt câu hỏi

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

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

생각해주시면 됩니다.

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

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

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

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

Hình ảnh hồ sơ của jwan05109291
jwan05109291

câu hỏi đã được viết

Đặt câu hỏi