ページネーションを使用してデータベースにクエリを実行する際に要件があります。以下に示すように ページネーションが、私は、クエリにページサイズとページインデックスを与えるスプリングデータのページネック
select distinct tp.* from kat_task_property tp inner join kat_task_to_workstream ttw on ttw.ttw_frn_task_id = tp.tp_frn_task_id and ttw.ttw_frn_workstream_id= :workStreamId and ttw.ttw_ended_by is null and tp.tp_ended_by is null and tp.tp_is_active=true and ttw.ttw_is_active=true left join kat_user_to_task_order kto on ttw.ttw_id = kto.uto_frn_task_to_workstream_id and kto.uto_frn_user_id = :userId order by tp.tp_completed_at ,kto.uto_order limit :index, :size
サンプル結果がなる、インデックスがクエリで0のとき
tp_id tp_completed_at
1 2017-02-27 06:47:52
2 null
3 null
4 2017-03-14 12:59:24
5 null
6 null
7 null
私の要件があり、私は、tp_completed_atがクエリの値の大きさにかかわらずすべてのデータを取得する必要があります。つまり、インデックスがゼロのときにはページ番号を適用すべきではなく、tp_completed_atですべてのエントリをnullにする必要があります。また、indexに0以外の値がある場合は、改ページを適用する必要があります。助けてください
私は – Virat
が@Sandeshaそうすることができますネイティブクエリでページング可能オブジェクトを使用することができます動作しますが、あなたはこのようなカウントクエリを定義する必要があります@クエリー(値= "SELECT * WHERE LASTNAME =?1"から、 countQuery = "ユーザーからのSELECTカウント(*)LASTNAME =?1"、 nativeQuery = true) – lucid
私は決してPageableを使用していません。私のクエリでどのように使用するのですか?助けてください – Virat