inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

JPQL Cursor Pagination

410

chinggin

작성한 질문수 8

0

 

JPQL을 활용한 커서 페이지네이션 관련해서 질문드릴려고 합니다.

@GetMapping("/items")
@ResponseBody
public List<Item> findAllItemOrderByItemOrderASC(@RequestParam(value = "order", defaultValue = "0") Long itemOrder, @RequestParam(value = "size", defaultValue = "2") Integer size) {

    String jpql = "select i from Book i where i.id > :itemOrder order by i.id";

    return em.createQuery(jpql, Item.class)
            .setParameter("itemOrder", itemOrder)
            .setMaxResults(size)
            .getResultList();

}

 

클라이언트에서 마지막 커서 값으로 itemOrder를 준다는 가정하에 이 코드는 문제가 없을까요?

setMaxResults가 쿼리가 얻을 수 있는 결과를 제한하는 역할을 하길래 QueryDSL 말고도 JPQL을 통해 쉽게 커서 페이지네이션이 구현 가능할까해서 질문드립니다.

일대다 같은 경우는 물론 적용하지 못하겠지만 batchSize 옵션을 통해 커서 페이지네이션 조회용으로 쓸 수 있을 것 같습니다..

예시니까 엔티티를 반환했고 레파지토리도 제외했습니다.

포스트맨을 활용하여 사용한 결과는 문제가 없었는데 이렇게 간단히 사용해도 될까요?

답변 0

상금은 언제 받을 수 있나요?

4

68

0

Issuance 테이블에 status, couponId 인덱스가 꼭 필요할까요?

2

49

1

4강 카드뉴스 자동화 자료

4

49

1

부하 테스트 시 설정 관련 질문드립니다

1

78

2