주문 조회 V1: 엔티티 직접 노출
주문 내역에서 주문한 상품 정보를 추가로 조회해본다. Order 기준으로 컬렉션인 OrderItem, Item 이 필요하다. Order->OrderItem->Item : 아이템 이름 출력 =>주문한 내역과 주문한 상품명(주문상품.getName) 함께 출력해본다.
Hibernate5Module는 지연로딩해서 프록시 객체는 초기화해서 초기화된 프록시 객체만 반환한다. 조회하려는 객체가 지연로딩(LAZY)이면 프록시 객체 강제 초기화해서 진짜 엔티티 데이터를 가져온다! Hibernate는 지연로딩인 애들은 데이터를 안 뿌린다. 하지만 강제 초기화된 프록시객체들은 뿌린다! 단, 양방향 관계들은 한쪽에 @JsonIgnore를 붙여서 무한 루프에 빠지지 않도록 한다! ex) Member->Team->List<Member>
알고리즘 순서
Order 엔티티(List<Order>) 조회 : orderRepository에서 데이터 모두 가져온다.
1의 List<Order>에서 각각의 Order 객체의 데이터 조회 ① 주문 회원 이름 ② 배송지 정보 ③ 주문 상품들 => stream과 foreach문을 이용해서 주문한 상품들(List<OrderItem>) 컬렉션에서 각 주문 상품(OrderItem)의 상품명 조회
1. 람다식 표현 사용
2. for문 표현
Last updated