1

기능 시나리오에 따라 pageable이 적용되는 것과 적용되지 않은 것, 두 형태로 반환하는 기능이 존재하여 관련 기능 구현 간 메소드 재활용을 위해

기존 Page 객체를 반환하고 인자로 Pageable 전달하는 DAO 메소드에 unpaged로 적용된 Pageable을 전달하도록 구현하였습니다.

허나, 해당 기능 테스트 간 아래와 같은 오류가 발생합니다.

  • 캐모마일 내 페이지네이션 처리 지원을 위한 인터셉터에서 upaged인 Pageable에 대한 offset 조회 시 발생하는 것으로 보입니다.

Caused by: java.lang.UnsupportedOperationException
 at org.springframework.data.domain.Unpaged.getOffset(Unpaged.java:96)
 at net.lotte.chamomile.module.database.mybatis.pageable.PageableInterceptor.intercept(PageableInterceptor.java:80)
 at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)
 at com.sun.proxy.$Proxy277.query(Unknown Source)
 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.base/java.lang.reflect.Method.invoke(Method.java:566)

개발 환경

  • JDK 11
  • chamomile 3.0.4.1-SNAPSHOT
  • mybatis
이 상현 Answered question 2025년 06월 26일