• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

member, order 간에 연관관계를 입력할때 왜 둘다 입력해줘야 하나요?

23.01.30 19:05 작성 23.01.30 19:07 수정 조회수 384

0


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

[질문 내용]
이전 도메인 설계 강의 듣기로 연관관계에 있는 두 엔티티의 관계를 변경하려면, 주인엔티티의 값을 변경하면 된다고 하셨고, mappedBy 가 선언된 종속(?)엔티티는 값을 변경하더라도 연관관계가 변경되지 않는다고 하셨던것 같은데요. 그럼 연관관계를 설정할때 주인엔티티에만 설정해주면 되지 않나요? 이 강의에서 나오는 연관관계 메소드에서는 Order 엔티티에도 member를 세팅해주고, Memeber 엔티티의 List<Order>에도 order 를 add해주도록 되어 있어서 왜 둘다 세팅하는지 문의드립니다.

답변 1

답변을 작성해보세요.

3

codesweaver님의 프로필

codesweaver

2023.02.01

안녕하세요, leesh83 님! 공식 서포터즈 codesweaver 입니다.

'객체 그래프 탐색' 방향은 단방향 혹은 양방향으로 할 수 있습니다.

(강의 내용에서도 언급하듯 사실 양방향은 단방향+단방향일 뿐입니다)

 

요구사항이 '회원'을 주문한 후 그와 관련한 '주문'을 조회해야 한다면 다음은 타당해 보입니다. (Member -> Order)

 

그리고 주문을 조회할 땐 보통 주문자 정보도 같이 조회해야 합니다. 그러니 다음의 그래프 탐색도 타당한합니다. (Order -> Member)

 

이처럼 요구사항에 따라 객체간의 관계를 단방향 혹은 양방향으로 설정할 수 있습니다.

강의에서는 다양한 경우의 수를 보여주기 위해 여러 상황을 보여주고 있습니다.

감사합니다.

leesh83님의 프로필

leesh83

질문자

2023.02.06

아 양방향으로 조회/탐색을 하려면 둘다 연관관계 설정을 해주어야 한다는 말씀이시네요 자세한 답변 감사합니다