강의

멘토링

로드맵

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

정중한 개구리님의 프로필 이미지
정중한 개구리

작성한 질문수

querydsl 의 offset 정의가 헷갈립니다.

작성

·

76

0

repository에 1,2,3,4,5를 차례로 저장하고

offset을 1로, limit을 2로해서 조회하면

 

[2,3], [4,5]가 조회되는건가요? 아니면 [3,4] ,[5]가 조회되는건가요?

 

offset이 0부터시작인데 1로 지정하면 2페이지부터 조회한다는건지? 두번째 데이터부터 페이징을 시작한다는건지요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

님의 질문에 대한 답변은 다음과 같습니다. Offset과 Limit을 이용한 페이징에서 Offset은 조회를 시작할 row의 위치를 지정하고, Limit은 조회할 데이터의 수를 정합니다. Offset은 ‘0’이 첫 번째 row를 가리킵니다.

따라서, Offset을 ‘1’로 지정하고 Limit을 ‘2’로 설정하면, 결과는 두 번째 데이터부터 시작하여 두 개의 요소를 포함하게 됩니다. 즉, [2, 3]이 조회됩니다. 다음 페이지에서도 동일한 Limit을 적용하면 [4, 5]가 조회될 것입니다.

즉, Offset을 ‘1’이라고 설정하면 첫 번째 요소를 건너뛰고 두 번째 데이터부터 조회를 시작한다는 의미입니다. 따라서 질문하신 바와 같이, [2,3], [4,5]가 조회되는 것이 맞습니다.

QueryDSL이나 다른 데이터 접근 기술에서 Offset과 Limit을 적용할 때 이 원칙이 일반적으로 적용됩니다. 각 기술의 문서를 참고하여 정확한 사용법을 숙지하는 것이 좋습니다.

정중한 개구리님의 프로필 이미지
정중한 개구리

작성한 질문수

질문하기