실전 예제
Last updated
Was this helpful?
Last updated
Was this helpful?
회원은 상품을 주문할 수 있다.
주문 시 여러 종류의 상품을 선택할 수 있다.
회원과 주문
일대다 관계
회원은 여러 번 주문할 수 있다.
주문과 상품
주문할 때 여러 상품을 선택할 수 있다.
같은 상품도 여러번 주문될 수 있다.
다대다 관계를 일대다, 다대일 관계로 풀어낸다.
보통 처음에는 테이블과 Entity를 똑같이 설계한다. 이렇게 됐을 때의 문제점이 무엇일지 살펴보자.
JpaMain
에서는 주문한 회원을 찾기 위해
order
조회 후
거기서 memberId
를 찾아
다시 member
를 조회해야 하는 번거로움이 있다.
객체는 참조로 쭉쭉 찾아가야 하는데 식별자를 통해서 해야 하면 끊겨버린다. 뭔가 객체지향스럽지 않다. 이런 설계는 관계형 DB에 객체를 맞춘 것이다.
테이블의 외래 키를 객체에 그대로 가져온다.
객체 그래프 탐색이 불가능하다.
참조가 없으므로 앞에서 만든 UML도 사실 잘못된 것이다.
Entity 매핑 다이어그램을 보면 id만 있을 뿐 실제로 참조는 다 끊긴다.
이런 문제를 해결하기 위해 연관 관계 매핑을 배울 것이다.