jpashop : 컬럭션 조회 v3.1 (dto응답, paging, batchsize)
This commit is contained in:
@@ -6,6 +6,7 @@ import com.example.jpashop.repository.OrderRepository;
|
||||
import com.example.jpashop.repository.OrderSearch;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
@@ -44,4 +45,14 @@ public class OrderApiController {
|
||||
.map(OrderDto::new)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@GetMapping("/api/v3.1/orders")
|
||||
public List<OrderDto> ordersV3_page(
|
||||
@RequestParam(value = "offset", defaultValue = "0") int offset,
|
||||
@RequestParam(value = "limit", defaultValue = "100") int limit) {
|
||||
List<Order> orders = orderRepository.findAllWithMemberDelivery(offset, limit);
|
||||
return orders.stream()
|
||||
.map(OrderDto::new)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import lombok.AccessLevel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.BatchSize;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
@@ -24,6 +25,7 @@ public class Order {
|
||||
@JoinColumn(name = "member_id")
|
||||
private Member member;
|
||||
|
||||
// @BatchSize(size = 1000)
|
||||
@OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
|
||||
private List<OrderItem> orderItems = new ArrayList<>();
|
||||
|
||||
|
||||
@@ -6,9 +6,11 @@ import lombok.AccessLevel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.BatchSize;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
//@BatchSize(size = 100)
|
||||
@Entity
|
||||
@Getter @Setter
|
||||
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||
|
||||
@@ -96,6 +96,16 @@ public class OrderRepository {
|
||||
.getResultList();
|
||||
}
|
||||
|
||||
public List<Order> findAllWithMemberDelivery(int offset, int limit) {
|
||||
return em.createQuery(
|
||||
"select o from Order o" +
|
||||
" join fetch o.member m" +
|
||||
" join fetch o.delivery", Order.class)
|
||||
.setFirstResult(offset)
|
||||
.setMaxResults(limit)
|
||||
.getResultList();
|
||||
}
|
||||
|
||||
public List<Order> findAllWithMemberDelivery() {
|
||||
return em.createQuery(
|
||||
"select o from Order o" +
|
||||
|
||||
@@ -12,6 +12,7 @@ spring:
|
||||
hibernate:
|
||||
# show_sql: true
|
||||
format_sql: true
|
||||
default_batch_fecth_size: 100
|
||||
|
||||
logging:
|
||||
level:
|
||||
|
||||
Reference in New Issue
Block a user