단방향, 양방향, 연관관계 주인에 대한 설명과 예시 엔티티, 테이블은 링크 참고 2023.12.18 - [JPA] - [JPA] 연관관계 매핑 - 단방향 매핑, 양방향 매핑 연관관계 매핑 시 고려사항 다중성 다대일 : @ManyToOne 일대다 : @OneToMany 일대일 : @OneToOne 다대다 : @ManyToMany => JPA의 어노테이션은 모두 DB와 매핑위해 존재한다. 따라서 DB관점에서의 다중성을 기준으로 설정! 다대일, 일대다 등 명칭은 '대' 앞의 '다', '일' 등에 해당하는 엔티티가 테이블의 외래키를 관리한다(연관관계 주인)는 뜻 방향성 단방향 : 한쪽만 참조 양방향 : 양쪽 모두 참조 연관관계의 주인 양방향 관계의 경우 외래키가 존재하는 테이블에서의 참조를 연관관계의 주인으로 ..
연관관계 매핑
연관관계 매핑 테이블에서는 외래키만을 통해 연관 테이블을 찾는다. 즉, 외래키만으로 양방향의 연관관계를 갖는다. (사실 테이블에는 방향 개념이 존재하지 않는다.) 그러나 객체에서는 참조를 통해서 연관 객체를 찾는다. 따라서 하나의 참조는 단방향만의 관계를 갖는다. 이와 같이 테이블과 객체는 연관관계에서의 차이점이 분명하다. 이러한 차이점을 최소화 시켜주는 것이 JPA에서의 연관관계 매핑이다. 연관관계 매핑은 객체의 참조와 테이블의 외래키를 매핑하는 것이다. 연관관계를 맺어주지 않는다면 객체의 참조가 아닌 테이블에서의 외래키를 그대로 사용한다. 이때는 외래키 식별자를 직접 다루기 때문에 객체지향스럽지 못하다. 또한 조회에서도 마찬가지로 연관관계가 없으므로 계속 DB에서 끄집어 내야 한다. 따라서 연관관계 ..