JPAでソート(昇順・降順)する方法

spring

JPAのfindALL()やfindByXX()で検索する時にソートをかける方法を紹介していきます。

ソートは特定のキーを任意で指定して、昇順・降順にソートをしていきます。

[スポンサーリンク]

Spring Dao JPAのソート昇順

Sortの第一引数でASCを指定して昇順検索にします。

第二引数へソート対象となるカラム名を指定します。今回はidというカラムを指定することにします。

List<Sample> list = 
    sampleDao.findAll(new Sort(Sort.Direction.ASC,"id"));
list.stream()
    .forEach(
    e -> System.out.println("ID : " + e.getId() + " name : " + e.getName()));

実行結果のイメージとしては、カラムIDで昇順ソートされます。

>実行結果(イメージ)
ID : 1 name : test_name
ID : 2 name : test_name2
ID : 3 name : test_name3

Spring Dao JPAのソート降順

降順ソートするには、Sortの第一引数へDESCを指定します。

List<Sample> list = 
    sampleDao.findAll(new Sort(Sort.Direction.DESC,"id"));
list.stream()
    .forEach(
    e -> System.out.println("ID : " + e.getId() + " name : " + e.getName()));

実行結果のイメージとしては、カラムIDで降順ソートされます。

>実行結果(イメージ)
ID : 3 name : test_name3
ID : 2 name : test_name2
ID : 1 name : test_name

Spring Dao JPAを使ったプロジェクトの作成

まずはSpring Bootを使ってSpring Dao JPAを使うためのプロジェクトを作っていきましょう。

以前コチラでSpring BootでMySQLに接続してJPAを使う方法を紹介しました。

今回紹介しましたプログラムを実際に動かしてみる場合は、コチラの記事を参照にしてみて下さい。

springとjavaのバージョン

Spring Bootのバージョンは、1.5.2を使っています。
javaは、version 8です。

さいごに

JPAを使えばある程度のことはSQLを書かずにデータ抽出することができます。

今回紹介しましたソートに関してもSQLは不要です。

便利になったものです。

それでは!