연관관계의 주인 (Owner)
두 객체 연관관계 중 하나를 정해서 테이블의 외래 키를 관리해야 한다.
이 떄 관리하는 객체를 연관관계의 주인이라고 한다.
누구를 주인으로 ? -> 외래 키가 있는 곳을 주인으로
( 또는 ManyToOne에서 Many쪽이 좋다. )
주의할점
- 순수 객체 상태를 고려해서 항상 양쪽에 값을 설정하자
- 연관관계 편의 메소드를 생성하자
- N에 작성해도 되고 1에 작성해도 된다
- 양방향 매핑시에 무한루프를 조심하자 (컨트롤러에서 엔티티를 절대 반환하지 말것)
- 예) toString(), lombok, JSON 생성 라이브러리
정리
- 단방향 매핑만으로도 이미 연관관계 매핑은 완료
- 양방향 매핑은 반대 방향으로 조회(객체 그래프 탐색) 기능이 추가된 것 뿐
- JPQL에서 역방향으로 탐색할 일이 많음
- 단방향 매핑을 잘 하고 양방향은 필요할 때 추가해도 됨 (테이블에 영향을 주지 않음)
'JPA' 카테고리의 다른 글
상속관계 매핑 (0) | 2022.06.29 |
---|---|
다양한 연관관계 매핑 (0) | 2022.05.16 |
JPA 연관관계 매핑 기초 (0) | 2022.05.13 |
JPA 엔티티 매핑 (0) | 2022.05.11 |
HelloJPA와 영속성 관리 - 내부 동작 방식 (0) | 2022.05.10 |
댓글