• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

컬렉션 조회

21.02.07 16:29 작성 조회수 202

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

김진현님의 프로필

김진현

질문자

2021.02.10

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

0

네 진현님

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

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

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

감사합니다.

0

김진현님의 프로필

김진현

질문자

2021.02.09

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

0

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

감사합니다.

0

김진현님의 프로필

김진현

질문자

2021.02.07

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

order를 조회하면서

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

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

0

안녕하세요. 현진님

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

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

감사합니다.