Order 조회시 연관관계가 있는 Member 조회, Member에서 Order조회, ... 하면 무한루프 발생 > 양방향 관계는 @JsonIgnore 선언으로 해결
org.springframework.http.converter.HttpMessageConversionException: Type definition error:
지연로딩은 DB에서 Order만 가져오고, Member는 프록시객체를 생성한다.
Member member = new ByteBuddyInterceptor();
jackson 라이브러리는 프록시 객체를 다룰 수 없으므로 에러 발생.
Hibernate5Module로 해결
지연로딩을 즉시로딩으로 바꿔도 성능이 좋아지지는 않는다.
사용하지 않는 OrderItems 등을 불러오면 성능 문제, API 스펙 변경에 유연하지 못 함
V3 vs V4
V3 : 내부에 원하는 것만 페치 조인 하여 성능 튜닝이 가능하다. 쿼리 결과에 정보가 많이 때문에 재사용성이 높다.
V4 : jpql과 Dto를 이용했기 때문에 API 스펙이 repository에 있기 때문에 스펙이 바뀌면 다 바꿔야 한다. V3보다 성능 최적화가 좋다.
하지만 요새는 둘 다 성능 차이가 안 난다.