본문 바로가기
JPA

연관관계의 주인과 주의점

by ppirae 2022. 5. 14.

연관관계의 주인 (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

댓글