twocowsong

양방향 연관관계 본문

IT/JPA

양방향 연관관계

WsCode 2022. 6. 1. 17:08

지금까지 회원에서 팀으로만 접근하는 N : 1 단방향 매핑으로 알아보았습니다.

이번에는 반대 방향인 팀에서 회원으로 접근하는 관계를 추가하겠습니다.

 

회원에서 팀으로 접근하고 반대 방향인 팀에서 회원으로 접근할 수 있도록 양방향 연관관계로 매핑해보겠습니다.

그림과 같이 회원과 팀은 N : 1 관계입니다.

반대로 팀에서 회원은 1 : N 관계입니다. 

1 : N 관계는 여러 건과 연관관계를 맺을 수 있으므로 컬렉션을 사용해야 합니다.

Team.members를 List컬렉션으로 추가했습니다.

 

회원 -> 팀 (Member.team)

팀 -> 회원 (Team.members)

 

JPA는 List를 포함해서 Collecatino, set, Map같은 다양한 컬렉션을 지원합니다.

 

DB테이블은 외래키 하나로 양방향으로 조회할 수 있습니다.

두 테이블의 연관관계는 외래 키 하나만으로 양방향 조회가 가능하므로 처음부터 양방향 관계입니다.

따라서 DB에 추가할 내용은 전혀없습니다.

TEAM_ID 외래 키를 사용해서 MEMBER JOIN TEAM이 가능하고 반대로 TEAM JOIN MEMBER도 가능합니다.

'IT > JPA' 카테고리의 다른 글

연관관계의 주인  (0) 2022.06.04
양방향 연관관계 매핑  (0) 2022.06.03
연관된 엔티티 삭제  (0) 2022.06.01
연관관계 제거  (0) 2022.06.01
연관관계 수정  (0) 2022.06.01