· inner-circle

JPA Entity 연관관계 (feat. 제미니의 개발실무)

연관관계를 웬만하면 걸지 않고 id로만 매핑하는 지침을 세우고, 엔티티와 도메인 객체가 1:1일 필요가 없는 이유를 리뷰·이미지 모델링 예로 풀었다.

작성날짜: 24.09.29

JPA 엔티티와 도메인 객체의 설계

  • 연관관계를 잘 안건다 (거의)
  • id 매핑 (FK 미사용)

연관관계 사용 지침 (정답은 아니다!)

1. 안거는 지침

id로만 걸어놓으면 그 다음 전략이 쉬움

image
  • 양방향 걸지 않는다
  • 단방향만!
  • 단방향도 왠만하면 oneToMany 안건다
  • oneTonOne도 안건다
  • 양방향 + Entity 도메인 사용 > 이 조합 최악의 수

2. 거는 지침

r.m으로 떡칠해놓으면 답이 없다

image
  • 라이프사이클(생명주기)가 완전히 같다면 고민
    • 리뷰가 있다고해서 이미지가 꼭 있는가? (정책)
  • 고민 후 단방향 manyToOne을 보통 건다

실제 코드는 어떻게 적용할까?

엔티티 & 도메인 “엔티티랑 도메인은 1대1이 아니다!”

질문, 답변 - 엔티티, 도메인 객체
image image
리뷰, 리뷰(이미지포함) - 도메인 객체
image

참고문헌