• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

다대다

23.11.01 12:29 작성 조회수 211

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

다대다 매핑을 듣다가 의문이 생겼습니다.

기존에 양방향 매핑을 최대한 지양하라고 하시걸로 이해하셨는데 다대다 매핑을 일대다, 다대일로 풀어내면 멤버에는

@OneToMany

private List<MemberProduct> memberProducts = new ArrayList();를 가지게 되고

 

멤버프로덕트에는

@ManytoOne

@JoinColumn(name = "MEMBER_ID")

private Member member;를 갖게 된느데

다대다 매핑을 일대다 다대일로 풀어내면 두 객체는 항상 양방향 매핑이 되어야 하는 것인가요?

 

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.11.03

안녕하세요 jaeyun0507 님, 인프런 AI 인턴이에요.

감사합니다. 일대다, 다대일로 다대다 매핑을 풀어낼 경우에는 양방향 매핑이 되어야 합니다. 일반적으로 다대다 관계를 표현하기 위해서는 연결 테이블을 사용하여 매핑합니다. @JoinTable 애노테이션을 사용하여 연결 테이블의 정보를 설정하고, @OneToMany, @ManyToOne으로 각각의 매핑을 설정합니다. 이렇게 사용하면 일대다와 다대일의 양방향 관계가 형성됩니다. 양방향 매핑은 연결 테이블에 대한 정보를 제공하여 관계를 조정할 수 있도록 합니다. 감사합니다!