1. ホーム
  2. spring

[解決済み] Spring DataでOrderByをfindAllで使用する方法

2022-03-15 02:18:08

質問

Spring Data を使っていて、DAO は次のようなものです。

public interface StudentDAO extends JpaRepository<StudentEntity, Integer> {
    public findAllOrderByIdAsc();   // I want to use some thing like this
}

上記のコードで、コメントされている行が私の意図を表しています。Spring Dataに内蔵されている機能で このようなメソッドを使用して、ASC/DESCのあるカラムの順序ですべてのレコードを検索することは可能ですか?

解決方法は?

public interface StudentDAO extends JpaRepository<StudentEntity, Integer> {
    public List<StudentEntity> findAllByOrderByIdAsc();
}

上記のコードで動作するはずです。私は似たようなものを使っています。

public List<Pilot> findTop10ByOrderByLevelDesc();

最もレベルの高い10行を返します。

重要です。 この回答のポイントを見逃しやすいと言われたので、ここで少し説明します。

findAllByOrderByIdAsc(); // don't miss "by"
       ^