본문 바로가기

jpa 양방향 연관관계2

JPA - 연관관계 매핑 기초(3) : 양방향 연관관계와 연관관계의 주인 (2) 1. 양방향 연관관계와 연관관계의 주인 (2) - 주의점, 정리 양방향 매핑시 가장 많이 하는 실수 연관관계의 주인에 값을 입력하지 않는다. 양방향 매핑시 연관관계의 주인에 값을 입력해야 한다. 양쪽에 값을 설정하지 않고 주인에만 값을 설정할 경우 발생하는 문제 2가지 1. 값이 정상적으로 출력되지 않는다. 연관관계의 주인에만 값을 입력하고 ex) member.setTeam(team); 바로 Team.getMembers()하고 for문을 돌려 member 값을 출력해보면 값이 출력되지 않는다. 왜냐하면 Team의 객체는 현재 DB에 insert되지 않은 영속성 컨텍스트 1차 캐시저장소에만 저장되있는 순수한 객체 상태이기 때문이다. 물론em.flush(), em.clear()를 해준 상태로 team.get.. 2022. 4. 9.
JPA - 연관관계 매핑 기초(2) : 양방향 연관관계와 연관관계의 주인 (1) 양방향 연관관계와 연관관계의 주인 (1) - 기본 Member의 엔티티는 단방향과 동일 Team 엔티티는 컬렉션 추가 ※ mappedBy mappedBy는 반대편에 어느 컬럼과 매핑되었는가를 정의해주면 된다. mappedBy는 연관관계의 주인이 아니라는 뜻도 내포되어 있다. mappedBy는 읽기만 가능하다 (ReadOnly) 반대방향으로 객체 그래프 탐색 객체와 테이블이 관계를 맺는 차이 객체 연관관계 = 2개 • 회원 -> 팀 연관관계 1개(단방향) • 팀 -> 회원 연관관계 1개(단방향) 테이블 연관관계 = 1개 • 회원 팀의 연관관계 1개(양방향) 테이블에서는 FK 값 하나로 양방향 연관관계 가질 수 있다. (양쪽으로 JOIN가능) 객체의 양방향 관계 • 객체의 양방향 관계는 사실 양방향 관계가 .. 2022. 4. 9.