[Spring API 실습 #-09] 컬렉션 조회 최적화 - 주문조회 V1 : 엔티티 직접 노출

OrderApiController.java

package com.kyhslam.api;

import com.kyhslam.domain.Order;
import com.kyhslam.domain.OrderItem;
import com.kyhslam.repository.OrderRepository;
import com.kyhslam.repository.OrderSearch;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequiredArgsConstructor
public class OrderApiController {

    private final OrderRepository orderRepository;

    // 엔티티 직접 노출
    public List<Order> ordersV1() {
        List<Order> all = orderRepository.findAllByString(new OrderSearch());
        for (Order order : all) { // 단축키 : iter
            order.getMember().getName();
            order.getDelivery().getAddress();
            List<OrderItem> orderItems = order.getOrderItems();
            orderItems.stream().forEach(o -> o.getItem().getName());
        }

        return all;
    }
}

댓글

Designed by JB FACTORY