8

最大値 (ランク) を選択するには、JPQL (2.0) でクエリを作成する必要があります。

私が使う:SELECT max(rank) FROM test

テーブルが空の場合を除いて、これは正常に機能し、結果はnullになりますが、必要0です。

単純なifステートメントでnullを「キャッチ」できれば問題ありませんが、これはできません(フレームワークではJPAクエリのみを指定でき、Javaコードは指定できません)。

テーブルが空0の場合に代わりにを取得するようにそのクエリを調整する方法を知っている人はいますか? null- データベースは MySQL であり、ネイティブ クエリまたはストアド プロシージャはオプションではありません。

4

1 に答える 1

8

多分:

SELECT COALESCE(MAX(rank), 0) FROM test

編集

COALESCEJPQL (JPA 2.0) でサポートされているようです: http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part3.html

于 2012-04-19T09:22:02.497 に答える