• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

지원클래스관련 질문드립니다.

20.11.06 09:45 작성 조회수 192

0

1. 메소드별 차이점

querydsl 지원 클래스를 상속받아서 구현한 MemberTestRepository에 보면 searchPageByAPplyPage, appliPagination, applyPagination2의 총 3가지 메소드를 구현하셨는데요.

각자 메소드별로 쿼리도 2번씩 날리고 특별히 틀린 점이 없는데 3가지로 구현하신 이유가 뭔가요?

2. 실무적용

Querydsl4RepositorySupport.java 를 실무에 적용해도 될 것 같은데 혹시 주의사항이 있나요?

3. 현재 Page<> 로 리턴받는데 Slice로 리턴받으려면 어떻게 하나요? Page가 Slice를 상속받았기에 리턴타입만 Slice로 바꿨는데 원하는대로 동작을 안 하는것 같아서요.(쿼리도 2번 나가고 isNext등 값도 없음)

실무에 적용하면서 정말 큰 도움이 되고 있습니다.

감사합니다. 

답변 2

·

답변을 작성해보세요.

2

digitcom님의 프로필

digitcom

질문자

2020.11.07

빠르게 답변해주셔서 감사합니다.

강사님덕분에 JPA를 적용하는데 두려움도 사라지고 여러모로 고민해야 하는 사항도 다 해결해주셔서 정말 좋습니다.

위의 질문은 강의에서 설명하셨을텐데 강의를 들은지 좀 되서 질문으로 남겼는데 친절하게 답변해주셔서 감사합니다.

최근 강의인 스프링 핵심 원리는 결제해놓고 업무가 바빠서 듣지는 못 하네요. ㅎㅎ

곧 시간내서 들어야겠습니다.

1

안녕하세요. digitcom님^^ 오랜만이네요 ㅎㅎ

바로 답변 남겨드릴께요.

1. 메소드별 차이점

-> 같은 기능을 더 깔끔한 코드로 점차 리펙토링 했다고 이해하시면 됩니다.

applyPagination2는 1번과 비교해서 별도의 count 쿼리를 호출할 수 있습니다.

2. 실무적용

-> 네 실무에 사용하셔도 됩니다. 코드가 단순해서 주의사항은 없습니다.

3. 여기서는 Slice는 지원하지 않습니다. Slice는 스프링 데이터 기능을 그대로 사용하셔야 할 것 같아요. 참고로 Slice 원리가 페이지 쿼리를 호출하지 않고, limit +1건을 해서 다음 페이지가 있는지 알아보는 방식이기 때문에 직접 구현하시기 어렵지는 않을거에요.

감사합니다.