2017-10-27 1 views
0

RepositoryクラスはPagingAndSortingRepositoryを実装しています。 ページングされた結果を返す以下のメソッドがあります。実際のコールの前にリポジトリクエリの行数を取得します

@Query("SELECT dt FROM Data dt JOIN dt.categories dc WHERE dt.service in (:services) AND dc.id = :cid") 
    public List<Data> findForCategoryAndServices(@Param("cid")String cid, @Param("services")Set<Service> services, Pageable page); 

UIのページネーションを示すのに役立つすべてのデータの累積数が必要です。これにはいくつかの方法がありますか?

また、明白な上記のクエリの明示的なカウントクエリを作成する必要がありますか?

答えて

3

List<Data>ではなくPage<Data>を返し、実際のクエリから派生させることでSpring-dataがカウントクエリを実行します。

カウントできない場合、またはカウントのクエリが良好な場合は、countQuery注釈パラメータを使用して指定できます。

+0

ありがとう@JB Nizet。私が間違っていなければ、 'Page'インターフェースの' getTotalElements() 'を参照しているかもしれません。 –

+0

はい。これは、カウントクエリの結果を含むものです。 –

関連する問題