12

私が持っているリポジトリメソッドのクエリアノテーションにソートを導入する方法を探していました。私はすでにこのコードをGoogleとここで見ましたが、動作させることができませんでした

@Query("find({state:'ACTIVE'}).sort({created:-1}).limit(1)")
    Job findOneActiveOldest();

@Query("{ state:'ACTIVE', $orderby: {created:-1}, $limit:1 }")
Job findOneActiveOldest();

ページネーションで作れることはわかっているのですが、場合によってはページネーションが必要ないので、Queryアノテーションでどうやって作るか迷っていました。

何か提案はありますか?

4

3 に答える 3

26

@Query アノテーションではできないと思います。ページネーションする必要がない場合は、リポジトリ メソッドに Sort パラメータを使用させることができます。

@Query("{ state:'ACTIVE' }")
Job findOneActive(Sort sort);

そしてそれを使用します:

yourRepository.findOneActive(new Sort(Sort.Direction.DESC, "created"))
于 2013-05-22T18:40:10.677 に答える