twocowsong

연관관계 매핑 기초 본문

IT/JPA

연관관계 매핑 기초

WsCode 2022. 5. 23. 21:47

엔티티들은 대부분 다른 엔티티와 연관 관계가 있습니다.

예를들어 주문 엔티티는 어떤 상품을 주문했는지 관계가있고 상품엔티티는 카테고리, 재고 등 다른 엔티티와의 관계가 있습니다. 그런데 객체는 참조(주소)를 사용해서 관계를 맺고 테이블은 외래키를 사용해서 관게를 맺습니다.

이 둘은 완전히 다른 특징을 가집니다.

객체 관계 매핑ORM 에서 가장 어려운 부분이 바로 객체 연관 관계와 테이블 연관 관계를 매핑하는 일 입니다.

 

객체의 참조와 테이블의 외래 키를 매핑하는것이 이장의 목표입니다.

시작전 연관관계 매핑을 이해하기 위한 핵심 키워드를 정리해보겠습니다.

 

- 방향 : [단방향, 양방향], 예를들어 회원과 팀이 관계가 있을 때 회원 -> 팀 또는 팀 -> 회원 둘 중 한쪽만 참조하는것을 단방향 관계라 하고, 회원 -> 팀, 팀 -> 회원 양쪽 모두 서로 참조하는 것을 양방향 관계라 합니다. 방향은 객체관계에만 존재하고 테이블 관계는 항상 양방향입니다.

 

- 다중성 : [N : 1, 1 : N, 1 : 1, N : M] 다중성이있습니다. 예를들어 회원과 팀이 관계가 있을 때 여러 회원은 한 팀에 속하므로 회원과 팀은 N : 1 관계입니다. 반대로 한 팀에 여러 회원이 소속될 수 있으므로 팀과 회원은 1 : N 관계입니다.

 

- 연관관계의 주인 : 객체를 양방향 연관관계로 만들면 연관관계의 주인을 정해야 합니다.

 

 

 

 

 

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

순수한 객체 연관관계  (0) 2022.05.27
객체 연관관계와 테이블의 연관관계  (0) 2022.05.25
[실전 예제] 요구사항 분석과 기본 매핑  (0) 2022.05.22
중간 정리  (0) 2022.05.21
@Transient  (0) 2022.05.21