인프런 커뮤니티 질문&답변
강사님 질문 드립니다!
작성
·
156
0
강사님 안녕하세요.
활용2편까지 강의 완강 후 환경설정 부터 이전에 했던 CRUD 코드로 재작성 하면서 복습 하고 있는데,
저희가 실습했던 주문내역보기 << 코드를 작성하는데
service
@Transactional
public List<Order> orderList(){
List<Order> orders = orderRepository.orderList();
for(Order order : orders) {
for(OrderItem orderItem : order.getOrderItems()) {
orderItem.setOrderPrice(orderItem.getItem().getPrice() * orderItem.getCount());
}
}
return orderRepository.orderList();
}
repository
public List<Order> orderList(){
return em.createQuery("select o from Order o "
+ "join fetch o.member "
+ "join fetch o.delivery ", Order.class)
.getResultList();
}
이런식으로 코드 작성을 했는데, 이보다 더 깔끔하게? 최적화를 하려면 어떤 방법이 더 있을까요 ? ?
답변 1
0
김영한
지식공유자
안녕하세요. sjdzn119님
orderItem.setOrderPrice(orderItem.getItem().getPrice() * orderItem.getCount()); 부분이 잘 이해가 안됩니다.
이렇게 하면 만약에 데이터가 다르면 실제 orderPrice 데이터가 update 될 수 있습니다.
조회 기능의 경우에는 set을 사용하시면 안됩니다.
감사합니다.





