인프런 커뮤니티 질문&답변
orderitem 내 item 초기화 관련
작성
·
248
0
초기화 진할때 forEach로 하면 초기화가 되는데,
같은 방법을 map으로 루핑하면 초기화가 안됩니다.
어떤 차이 때문에 안되는 걸까요?
forEach는 실행시 내부 array들의 값을 직접 변경하고, map은 새 array를 생성하는데 여기서 오는 차이일까요?
@RestController
@RequiredArgsConstructor
public class OrderApiController {
private final OrderRepository orderRepository;
@GetMapping("api/v1/orders")
public List<Order> ordersV1(){
List<Order> orders = orderRepository.findAllByString(new OrderSearch());
for (Order order: orders){
order.getMember().getName();
order.getDelivery().getAddress();
order.getOrderItems().stream()
.forEach(orderItem -> orderItem.getItem().getName());
// order.getOrderItems().stream()
// .map(orderItem -> orderItem.getItem().getName());
}
return orders;
}
}
퀴즈
56%나 틀려요. 한번 도전해보세요!
JPA 엔티티를 API 응답으로 직접 노출할 때 발생할 수 있는 주요 문제는 무엇일까요?
데이터 손실
무한 루프 발생
DB 연결 오류
메모리 누수





