JPA [기본] 다양한 연관관계 매핑 - 일대다 (1:N)
일대다 단방향 (권장 X)
- 운영이 힘들어 진다.
- 연관관계 주인이 아닌 Entity 클래스에서 @JoinColumn을 하여 매핑해주는 방법
정리
- 일대다 단방향은 일대다 (1:N)에서 일(1)이 연관관계 주인이다.
- 테이블 일대다 관계는 항상 다(N) 쪽에 외래키가 있다. (관계가 틀어짐)
- 객체와 테이블의 차이 때문에 반대편 테이블의 외래 키를 관리하는 특이한 구조임
- @JoinColumn을 꼭 사용해야함, 그렇지 않으면 조인 테이블 방식을 사용(중간에 테이블을 하나 추가함)
일대다 단방향 매핑의 단점
- Entity가 관리하는 외래 키가 다른 테이블에 있음
- 연관관계 관리를 위해 추가로 UPDATE SQL 실행
- 결론
- 일대다 단방향 매핑보다는 다대일 양방향 매핑을 사용하자