본문 바로가기

jpa 연관관계2

JPA - 다양한 연관관계 매핑(3) : 일대일 [1 : 1] 일대일 • 회원이 딱 하나의 락커를 가지고 있는 상황이다. 반대로 락커도 회원 한명만 할당 받을 수 있는 비즈니스 적인 룰이 있고이때, 둘의 관계는 일대일 관계이다, (일대일 관계는 그 반대도 일대일) • 일대일 관계는 다대일 단방향과 매우 유사하다 (유니크가 들어가냐, 들어가지 않냐의 차이) • 주 테이블이나 대상 테이블 중에 외래 키 선택 가능 • 주 테이블에 외래 키 (단방향, 양방향) • 대상 테이블에 외래 키 (단방향, 양방향) = 총 네 가지의 경우의 수 • 외래 키에 데이터베이스 유니크(UNI) 제약조건 추가 • 일대일에서는 어느 테이블FK를 가지면 그 테이블과 매핑되는 객체가 연관관계의 주인이 된다. 1-1. 주 테이블 왜래 키 단방향 public class Member{ @OneToOne.. 2022. 4. 10.
JPA - 연관관계 매핑 기초(2) : 양방향 연관관계와 연관관계의 주인 (1) 양방향 연관관계와 연관관계의 주인 (1) - 기본 Member의 엔티티는 단방향과 동일 Team 엔티티는 컬렉션 추가 ※ mappedBy mappedBy는 반대편에 어느 컬럼과 매핑되었는가를 정의해주면 된다. mappedBy는 연관관계의 주인이 아니라는 뜻도 내포되어 있다. mappedBy는 읽기만 가능하다 (ReadOnly) 반대방향으로 객체 그래프 탐색 객체와 테이블이 관계를 맺는 차이 객체 연관관계 = 2개 • 회원 -> 팀 연관관계 1개(단방향) • 팀 -> 회원 연관관계 1개(단방향) 테이블 연관관계 = 1개 • 회원 팀의 연관관계 1개(양방향) 테이블에서는 FK 값 하나로 양방향 연관관계 가질 수 있다. (양쪽으로 JOIN가능) 객체의 양방향 관계 • 객체의 양방향 관계는 사실 양방향 관계가 .. 2022. 4. 9.