인프런 커뮤니티 질문&답변

김진현님의 프로필 이미지
김진현

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

컬렉션 조회

해결된 질문

작성

·

261

0

강의에서 order에 orderItemQuerydto를 컬렉션 하였는데

만약 예를들어

orderItemQuerydto에 itemDto라는 컬렉션까지 한번에 조회 하려고 할 때

 강의에서 나온 동일한 방법을 반복하면 최적화가 될까요?

import com.jpahop2.demo.domain.Address;
import com.jpahop2.demo.domain.OrderStatus;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;
@Data
public class OrderQueryDto {
private Long orderId;
private String name;
private LocalDateTime orderDate; //주문시간
private OrderStatus orderStatus;
private Address address;
private List<OrderItemQueryDto> orderItems;

public OrderQueryDto(Long orderId, String name, LocalDateTime orderDate,
OrderStatus orderStatus, Address address) {
this.orderId = orderId;
this.name = name;
this.orderDate = orderDate;
this.orderStatus = orderStatus;
this.address = address;
}
}


import lombok.Data;

import java.time.LocalDateTime;

@Data
public class OrderItemQueryDto {

private Long orderId;

private int orderPirce;
private int count;
private String itemName;
private List<ItemDto>items;

public OrderItemQueryDto(Long orderId, int orderPirce, int count,String itemName) {
this.orderId = orderId;

this.orderPirce = orderPirce;
this.count = count;
this.itemName=itemName;
}
}

답변 6

1

김진현님의 프로필 이미지
김진현
질문자

답변 정말 감사드립니다 새로운 것을 알게되었습니다!

0

김영한님의 프로필 이미지
김영한
지식공유자

네 진현님

추가적으로 영향을 주는게 하나 있는데요.

다음을 참고해주세요. 만약 이게 아니라면 설정이 잘못된 것입니다.

https://www.inflearn.com/questions/34469

감사합니다.

0

김진현님의 프로필 이미지
김진현
질문자

혹시 yml batchsize설정말고 in쿼리에 영향을 주는 것이 있나요 yml100개 설정후 데이터는 10개이상인데 in쿼리는 10개만 나가서 쿼리가 여러번 실행되서요

0

김영한님의 프로필 이미지
김영한
지식공유자

네 1:N 의 경우 fetch join이 한번만 가능한 것을 이해하시고, batchSize를 활용하는 방식으로 푸시면 됩니다.

감사합니다.

0

김진현님의 프로필 이미지
김진현
질문자

아 죄송합니다  itemDto는 임의로 만든것 이었습니다 질문을 헷갈리게 설정 한것같습니다.

order를 조회하면서

order->orderitem->orderitem과oneToMany관계인다른 컬렉션 까지 한번에 조회하려고 하는데

이 경우에도 강의와 동일한 방법을 반복해서 사용하면 최적화가 가능할까요?

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 현진님

OrderItem -> Item은 ManyToOne 관계이기 때문에 컬렉션이 아니라 단건이어야 합니다.

그 부분만 챙기면 크게 문제 없을 듯요^^

감사합니다.

김진현님의 프로필 이미지
김진현

작성한 질문수

질문하기