API

· JPA
컬렉션 조회 - Dto OrderItems는 Order와 1대다 관계이며, 지연로딩 전략을 사용하고 있는 Entity이다. 따라서 프록시를 초기화 때마다 쿼리문이 나감(성능 이슈) OrderItems도 Entity이기 때문에 외부에 그냥 노출이 되지 않게 조심해야함. @GetMapping("/api/v2/orders") public List ordersV2() { // 쿼리가 많이 나가는 버전. List orders = orderRepository.findAllByString(new OrderSearch()); List collect = orders.stream().map(o -> new OrderDto(o)) .collect(Collectors.toList()); return collect; } @Da..
· JPA
목표 주문, 배송정보, 회원을 조회하는 API 만들기 지연 로딩 때문에 발생하는 성능 문제를 단계적으로 해결해보기(중요) 샘플 데이터 입력 package jpabook.jpashop; import jpabook.jpashop.domain.*; import jpabook.jpashop.domain.item.Book; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; import javax.persistence.Enti..
· JPA
회원 등록 Controller에서 Entity를 request로 바로 받는 것은 좋지 않음 따라서 requestDto를 사용해주어야함. Member Entity package jpabook.jpashop.domain; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private..
나는시화
'API' 태그의 글 목록