72

プロジェクトでSpringデータJPAを試しています。Sortと の両方でデータをクエリするためのすぐに使える API があるかどうかを知りたいですPageable。もちろん、私はそのメソッドを自分で書くことができることを知っています。すぐに使えるメソッドがあるかどうかを知りたいだけです。私の DAO extendsJpaRepositoryで、呼び出すことができる次のメソッドがあることがわかりました。

findAll();
findAll(Pageable pageable);
findAll(Sort sort);

でも、そんな方法はないfindAll(Sort sort, Pageable pageable)ので気になります。

4

6 に答える 6

160

これを実現するには、次の 2 つの方法があります。

final PageRequest page1 = new PageRequest(
  0, 20, Direction.ASC, "lastName", "salary"
);

final PageRequest page2 = new PageRequest(
  0, 20, new Sort(
    new Order(Direction.ASC, "lastName"), 
    new Order(Direction.DESC, "salary")
  )
);

dao.findAll(page1);

ご覧のとおり、2 番目の形式はより柔軟で、プロパティごとに異なる方向を定義できます ( lastName ASC, salary DESC)。

于 2012-05-10T06:19:17.857 に答える
15

Pageable には、並べ替えを指定するオプションもあります。Javaドキュメントから

PageRequest(int page, int size, Sort.Direction direction, String... properties) 

並べ替えパラメーターが適用された新しい PageRequest を作成します。

于 2012-05-10T05:09:43.130 に答える