반응형
  • (?) maxSize=67인데 이건 어디서 정해지는 건지? 아래에서 web.pageable.max-page-size: 67 요게작동하는듯

    spring:
    profiles:
        active: local
    datasource:
        jdbc-url: jdbc:mysql://localhost:3306/cdp?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false
        username: root
        password: root
    jpa:
        properties:
            hibernate.dialect: org.hibernate.dialect.MySQL5InnoDBDialect
        hibernate.ddl-auto: update
    jackson:
        serialization:
            WRITE_DATES_AS_TIMESTAMPS: false
        time-zone: UTC
    servlet:
        multipart:
            enabled: true
            file-size-threshold: 2KB
            max-file-size: 50MB
            max-request-size: 75MB
    data:
        rest:
            default-page-size: 57
            defaultPageSize: 77
    
  •  
  •  
  •  
  •  
  •  
  • org.springframework.data.domain.Pageable - request parameter로 받음
  • Defaulf 값은 org.springframework.data.web.PageableDefault annotation으로 설정
    • @PageableDefault(sort = {"provider.providerId", "programId"}, direction =Direction.ASC, size =AppConstants.DEFAULT_PAGE_SIZE_INT)
    • sort는 jpa model bean의 property 명이어야 함 (payload명이 아님)
    • sorting direction의 default는 ASC
    • default size는 application.yml에서 data.rest.default-page-size: 50 이렇게 설정가능하다고 함
  • 실제 request
  • Pageable 이 실제 구현되기 위해서는 Repository에서 적용이 되어야함
    • JpaRepository를 상속받아 그 내부 method를 구현하여 사용하면 됨
    • queryDSL의 경우, 코드에 적용해줘야 함

추가적으로 page가 0부터 시작하기 보다 1부터 시작하도록 변경한다던가 하고 싶다면 PageRequest class를 만들어 사용하면 됨

참고: https://cheese10yun.github.io/spring-jpa-best-12/

반응형

+ Recent posts