TIL(D+8). [JPA] 연관관계 매핑 기초
2021.07.05
1. 연관 관계 정의
- 방향 : 단방향, 양방향으로 객체를 참조
- 연관 관계의 주인 : 양방향일 때, 연관관계에서 관리 주체
- 다중성 : 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:N)
2. 단방향과 양방향
DB의 테이블은 '외래 키' 하나로 양 쪽 테이블 조인이 가능하다. 그래서 DB는 단방향, 양방향을 나눌 필요가 없다. 그러나 객체는 참조용 필드가 있는 객체만 다른 객체를 참조하는 것이 가능하다.
- 두 객체 사이에 하나의 객체만 참조용 필드를 갖고 참조하면 단방향 관계
- 두 객체 모두가 각각 참조용 필드를 갖고 있다면 양방향 관계이다. 객체의 양방향 관계는 사실 양방향 관계가 아니라 서로 다른 단방향 관계 2개이다.
3. 연관관계의 주인
외래키가 있는 곳을 연관 관계의 주인으로 정하면 된다.
연관 관계의 주인이 아닌 객체는 mappedBy 속성을 사용해서 주인을 지정해줘야 한다.
댓글을 작성해보세요.