web-dev-qa-db-ja.com

SpringデータJPA。結果がデフォルト値を返さない場合に最大値を見つける

私は私の春のリポジトリインターフェイスに実装しました:

_@Query("SELECT max(ch.id) FROM MyEntity ch")
Long getMaxId();
_

Dbが空でない場合、正常に機能します。テスト構成で環境を開始した場合(H2DBを使用)-最初はデータがありません。そして、getMaxId()によって返される結果はnullです。ここに持ちたいのですが。


_*JpaRepository_を変更しての結果にすることは可能ですか?はいの場合、どのように変更する必要がありますか?

14
Sergii

coalesceのように使用できます:

@Query("SELECT coalesce(max(ch.id), 0) FROM MyEntity ch")
Long getMaxId();

データがない場合、nullではなく0を返します。

28
YCF_L