• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

연관관계 주인

24.03.29 10:35 작성 조회수 69

0

안녕하세요. 선생님 . 프로젝트 병행하며 JPA 내용 복습중인데요.

강의 자료에서는 진짜 매핑 - 연관관계의 주인 (Member.team)

가짜 매핑 - 주인의 반대편 (Team.members)라 하셨습니다!! 제가 이해한 바로는 Member와 Team의 관계는 N : 1이고, 외래키를 갖고 있는 Member Entity가 연관관계의 주인이다. 라고 이해하였는데 자료에서는 Member.team이 주인이다 라는 것이 이해가 가지 않습니답!! 제가 이해한대로 머리속에 집어넣어도 무방할까요??

답변 2

·

답변을 작성해보세요.

0

David님의 프로필

David

2024.03.30

안녕하세요. 윤토벤님, 공식 서포터즈 David입니다.

Member가 Team과의 연관관계에서 주인이라는 말은, Member와 Team 테이블의 연관관계를 위해 사용되는 외래키가 Member에게 있다는 말입니다.

즉, Member, Team 테이블의 연관관계를 위해 사용되는 외래키를 Member에다가 둘 것이고, 그 외래키에 해당하는 것이 Member.team(@JoinColumn)이라는 것이므로 자료의 설명도 맞습니다:)

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.29

안녕하세요, 인프런 AI 인턴입니다.

윤토벤 님께서 질문하신 연관관계의 주인에 대해 궁금증을 해소하는데 도움이 될 만한 내용을 찾았습니다. 연관관계의 주인은 JPA에서 매우 중요한 개념입니다. 윤토벤 님의 이해대로, MemberTeam의 관계에서 Member가 외래 키를 가지고 있으므로 Member 엔티티가 연관관계의 주인이 됩니다. 정확히 말하면, @ManyToOne 관계에서 Member 엔티티 내에 있는 @JoinColumn이 설정된 필드(team)가 실제로 데이터베이스의 외래 키를 관리하는 연관관계의 주인이 됩니다.

다음은 이와 관련된 강의 자료에서 참고할 수 있는 링크입니다:

  • “연관관계의 주인”에서는 양방향 연관관계에서 연관관계의 주인을 지정하는 방법에 대해 논의합니다. 특히 @OneToMany@ManyToOne 어노테이션을 사용한 예시를 통해 mappedBy 속성이 있는 쪽이 연관관계의 주인이 아님을 설명합니다.

이 정보가 MemberTeam 클래스 사이의 관계, 그리고 연관관계의 주인 개념에 대한 이해에 도움이 되길 바랍니다. 외래 키를 관리하는 쪽이 연관관계의 주인이 되는 원칙을 기억하시면 JPA를 다룰 때 많은 도움이 됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.