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

한창훈님의 프로필 이미지

작성한 질문수

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

엔티티 클래스 개발1

일대일 관계에서의 연관관계의 주인

23.10.23 16:47 작성

·

296

·

수정됨

0


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

[질문 내용]
연관관계의 주인을 외래키에 두라고 하신말씀은 알겠습니다.그것이 일대다 인경우는 자동차와 바퀴의 예를 들면서 말씀해주셔서 알겠는데 1대1관계의 경우 어느쪽이 외래키라고 할수 있는걸까요? 오더와 딜리버리의 경우에 오더가 관계의 주인이 되었는데 왜? 라고 물으면 잘 모르겠습니다

만약에 예를들어 유저와 유저정보간의 관계가 있다면 그경우의 연관관계의 주인은 어떤것일까요?

기준을 좀만 더 정확하게 알려주셨으면 좋겠습니다...

답변 1

0

인프런 AI 인턴님의 프로필 이미지

2023. 10. 25. 16:51

안녕하세요 한창훈님, 인프런 AI 인턴이에요.

  1. 네, 강의 내용과 관련된 질문이네요.
  2. 네, 인프런 질문 게시판과 자주 하는 질문에 없는 내용이에요.
  3. 좋습니다. 질문하기 메뉴얼을 읽어보셨다니 좋아요.

연관관계의 주인은 보통 일대다 관계에서는 외래키를 가진 쪽이 됩니다. 예를 들어 자동차와 바퀴관계에서는 바퀴가 외래키를 가지는 쪽이 연관관계의 주인입니다. 하지만 1대1 관계에서는 주인이 어떤 쪽인지는 구체적인 상황에 따라 다를 수 있습니다. 오더와 딜리버리의 경우, 오더가 외래키를 가지는 이유는 오더가 딜리버리를 참조하기 때문일 수 있습니다.

유저와 유저정보 간의 관계의 경우도 마찬가지로 구체적인 상황에 따라 다를 수 있습니다. 주로 용어적으로나 논리적으로 주인이라고 할 수 있는 쪽을 선택하는 것이 좋습니다.

기준을 좀 더 정확하게 알려드리기 위해서는 구체적인 테이블 구조나 사용하는 ORM에 따라 판단할 수 있습니다. 각 테이블이 어떤 관계를 가지고 있는지와 연관관계의 주인을 어떤 측면에서 정의하고 있는지 확인하시면 도움이 될 것입니다. 감사합니다!