연관관계 매핑 2

[JPA] 여러가지 연관관계 매핑

연관관계를 매핑할 때는 1. 다중성과 2. 단방향인지 양방향인지, 양방향일때 3. 연관관계의 주인은 누구로 설정할지가 중요하다. 1. 다중성 여기서 다중성은 4가지가 존재한다. 1) 다대일 N:1 @ManyToOne 2) 일대다 1:N @ OneToMany 3) 일대일 1:1 @OneToOne 4) 다대다 N:M @ManyToMany 2. 단방향, 양방향 앞서 많이 이야기 했지만 테이블은 외래 키 하나만 정해져있어도 어느 방향으로든 데이터를 불러올 수 있다(조인) 방향이라는 개념 자체가 없다. 근데 객체는 아니다. 참조하는 필드가 있는 쪽으로만 방향이 정해져있고 한쪽만 참조하면 단방향, 양쪽이 서로 참조하면 양방향이다. 근데 사실 양방향이라는 용어는 억지로 만들어낸 것이고 단방향 두개라고 생각하면 된다...

JPA 2020.10.16

[JPA] 연관관계 매핑 기초

일단 JPA에서 연관관계 매핑은 정말 중요하다. 어찌보면 객체지향과 RDB의 메커니즘 차이를 좁혀주는데 중요한 이론이기도 하다. Member와 Team이라는 테이블이 있다고 가정해보자. 먼저 Member는 하나의 팀만 가질 수 있고, Team은 여러명의 멤버를 가질 수 있다. Team에는 Member의 PK가 외래키로 존재한다. 먼저 RDB의 경우에는 FK(외래키)만 존재해도 어느방향에서도 접근하고 조회할 수 있다. 즉 Team에는 member의 PK가 외래키로 존재하므로 이 외래키를 가지고 두 테이블을 Team에서 조인하든 member에서 조인하던 조인이라는 SQL 쿼리를 만들어서 조회할 수 있다. 하지만 객체의 경우에는 그런 SQL문이 없다. 이걸 억지로 쥐어짜서 가능하게 한다면 member id를 ..

JPA 2020.10.12