inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 스프링 데이터 JPA

스프링 데이터 JPA 페이징과 정렬

Page 자료구조에 관해 질문입니다.

654

작성자 없음

작성한 질문수 0

0

PageRequest pageRequest = PageRequest.of(0, 3, Sort.by(Direction.DESC, "username"));
int age = 10;

//when
Page<Member> page = memberRepository.findByAge(age, pageRequest);
  1. PageRequest.of 코드에서 첫 번째 파라미터가 무엇을 의미하는지 헷갈립니다.

  2. PageRequest.of 의 2번째 파라미터는 한 페이지의 element 개수이고(limit), 3번째 파라미터는 정렬 조건이 맞나요?

List<Member> content = page.getContent();

assertThat(content.size()).isEqualTo(3);
assertThat(page.getTotalElements()).isEqualTo(5);
assertThat(page.getNumber()).isEqualTo(0);
assertThat(page.getTotalPages()).isEqualTo(2);
assertThat(page.isFirst()).isTrue();
assertThat(page.hasNext()).isTrue();

 

  1. page.getContent()는 현재 페이지의 데이터를 가져오는 메소드인가요?

  2. page.getNumber()는 현재 페이지를 가져오는 메소드인가요?

  3. Page는 책처럼 0,1,2,3 ... 이렇게 페이지가 있는 거고

    Content는 그 Page안에 있는 데이터를 의미하는 건가요? List<List<data>> 와 같은 구조로 되어 있는 것일까요? Page와 Content의 자료 구조가 어떻게 되어있는지가 궁금합니다.

     

java spring spring-boot jpa

답변 1

0

David

안녕하세요. hjemsti님, 공식 서포터즈 David입니다.

  1. PageRequest.of 코드에서 첫 번째 파라미터가 무엇을 의미하는지 헷갈립니다.

    => 페이지의 인덱스를 말합니다. 즉, 페이지의 번호라고 볼 수 있습니다.

  2. PageRequest.of 의 2번째 파라미터는 한 페이지의 element 개수이고(limit), 3번째 파라미터는 정렬 조건이 맞나요?

    => 네, 맞습니다.

  3. page.getContent()는 현재 페이지의 데이터를 가져오는 메소드인가요?

    => 네, 맞습니다.

  4. page.getNumber()는 현재 페이지를 가져오는 메소드인가요?

    => 현재 페이지 번호를 가져옵니다.

  5. Page의 구현체는 PageImpl 클래스입니다. 해당 클래스쪽 코드를 살펴보시면 대략적으로 어떤 느낌인지 아실 수 있을 것 같습니다. 아래 2가지 클래스 코드를 참고해 주세요.
    https://github.com/spring-projects/spring-data-commons/blob/main/src/main/java/org/springframework/data/domain/PageImpl.java
    https://github.com/spring-projects/spring-data-commons/blob/main/src/main/java/org/springframework/data/domain/Chunk.java

아울러, 1~4번 질문의 경우 5분 36초부터 설명하고 있으니 확인 부탁드립니다:)

감사합니다.

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

72

1

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

0

107

3

MemberRepository 구현체

0

58

1

pdf 표현 질문드립니다.

0

62

1

로그가 남지 않는 문제.

0

81

1

테스트 라이브러리가 강의는 junit4가 맞나요??

0

72

2

pdf 파일과 차이점이 있는 것같은데 문제 없나요?

0

73

2

@PrePersist, @PreUpdate 호출 시점 질문드립니다.

0

92

2

Sort 인터페이스는 잘 사용 안하나요?

0

52

1

스캔대상 질문드립니다.

0

46

1

하이버네이트6에서의 최적화에 이은 질문

0

86

1

save() vs saveAndFlush DB 통신 횟수

0

54

1

순수 JPA 리포지토리 코드 수정부분

0

86

2

bulk연산 후 flush하는 이유를 모르겠어요

0

152

3

bulk insert 질문입니다.

0

178

2

교만했던 것 같아요.

0

147

1

RESTful 강의는 안하시는 건지 궁금합니다.

0

148

2

동적 테이블에 대한 질문

0

86

1

영속성 전이와 연관관계

0

131

2

강의 10:25 질문

0

74

1

단건 update 질문

0

96

2

엔티티 와 도메인의 경계

0

127

1

UsernameOnlyDto 타입 type mismatch 오류

0

121

1

Projection 개념과 데이터 전달과정에 대해 질문 있습니다.

0

136

1