
기존의 버전3의 페치조인에서와 같이 코드를 짜는 대신, orderItmes와 items 엔티티도 같이 페치조인을 한다. 거기에 추가적으로 distinct를 통해 중복을 제거해준다.
jpa에서 distinct를 사용한다고 실제 db에서 중복이 제거되지는 않는다. 그러나 어플리케이션이 작동하고 포스트맨을 통해 조회를 해보면 중복이 제거되어 나오는 것을 알 수 있다. 이런 상황이 일어나는 이유는 db에서는 join한 모든 엔티티들의 모든 값들을 보여주는데 어플리케이션에서는 원하는 값만 조회가 되고, 그 값들은 실제로 중복이 되기 때문이다.
