본문 바로가기

연관관계

(2)
JPA - 다양한 연관관계 매핑 연관관계 매핑시 고려사항 3가지 다중성 단방향, 양방향 연관관계의 중요성 다중성 다대일: @ManyToOne 일대다: @OneToMany 일대일: @OneToOne 다대다: @ManyToMany 단방향, 양방향 테이블 외래 키 하나로 양쪽 조인 가능 사실 방향이라는 개념이 없음 객체 참조용 필드가 있는 쪽으로만 참조 가능 한쪽만 참조하면 단방향 양쪽이 서로 참조하면 양방향 연관관계의 주인 테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음 객체 양방향 관계는 A→B, B→A 처럼 참조가 2군데 객체 양방향 관계는 참조가 2군데 있음, 둘중 테이블의 외래 키를 관리할 곳을 지정해야 함 연관관계의 주인: 외래 키를 관리하는 참조 주인의 반대편: 외래 키에 영향을 주지 않음, 단순 조회만 가능 다대일 [ N.. 더보기
JPA - 양방향 연관관계와 연관관계의 주인 객체와 테이블 사이의 연관관계 차이 Team, Member의 예시에서 Member → Team, Team → Member 로의 연관관계도 필요하다면 객체, 테이블 설계에서 어떻게 다를까? 테이블 연관관계 테이블 연관관계는 외래키 하나로 해결이 된다. (Team→Member, Member→Team) 양쪽으로 조인이 가능하다. 그러나 객체의 관점에서 바라보면 다르다. 객체 연관관계 Member에서 team에 대한 참조를 갖는것은 물론, Team에서도 Member list에 대한 참조를 선언해줘야 한다. 연관관계의 주인과 mappedBy 객체와 테이블이 관계를 맺는 차이 객체와 테이블이 관계를 맺는 차이를 정리하면 다음과 같다. 객체 연관관계 = 2개 회원 → 팀 연관관계 1개 (단방향) 팀 → 회원 연관관계.. 더보기