본문 바로가기

단방향2

JPA - 연관관계 매핑(N:1, 1:N, 1:1, N:N) JPA 005 - 다양한 연관관계 매핑 다대일, 일대다, 일대일, 다대다 매핑을 알아보자. (앞에 있는 객체가 외래키를 가지는 연관관계 주인이라고 가정한다.) 1. 다대일 (N:1) 저번시간에 JPA - 단방향, 양방향 연관관계 매핑 글에서 Comment (N) - Post (1) 관계에서 연관관계 주인을 Comment로 선택하여 외래키를 Comment가 관리하게 하는 예제를 보았다. 다대일 관계는 이를 말한다. 될 수 있으면 단방향 관계만 설정하고, 반대편 (Post) 에서도 조회하고 싶다면 양방향 관계를 추가하고 양방향 매핑을 주의해서 관리해주면 된다. 2. 일대다 (1:N) 일대다 단방향 매핑 일대다 관계는 자바 컬렉션(Collection, List, Set, Map) 중 하나를 사용해서 참조할 객.. 2021. 9. 21.
JPA - 단방향, 양방향 연관관계 매핑 JPA 004 - 단방향, 양방향 연관관계 매핑 TL;DR 두 테이블이 있고, 한 테이블에 외래키가 있는 상황에서 테이블은 항상 양방향 관계를 가진다. A 객체 안에 B 객체가 필드로 있다면, A에서 B로 가는 단방향 관계를 가진다. 단방향 관계만으로 충분히 연관관계 매핑을 할 수 있다. 아래 예제에서 Post 에 있는 @OneToMany 는 사실 없어도 잘 동작한다. 외래키는 @ManyToOne 이 붙은 Comment 에 자연스럽게 생긴다. 반대방향으로도 조회하고 싶으면 양방향 관계를 설정하자. (반대 방향의 객체 그래프 탐색이 가능해진다.) 대신에, 연관관계 편의 메소드 등을 만들어서 양방향 매핑을 모두 잘해주고, 논리적으로 오류가 없도록 관리를 잘 해주어야 한다. 단방향, 양방향? 테이블 vs 객체.. 2021. 9. 20.
728x90