2016-07-20 9 views
6

私はSpring JPA named querysを自分のリポジトリに使用しています。私の問題は、結果と一致しないクエリの値が返される場所はどこにも見つからないということです。私はそれがfindOne()のためにnullになると仮定しますが、私はそれがfindAllByName()の機能のためになるだろうと考えていません。一致するものが見つからなかった場合のJPAクエリの戻り値

誰かが経験したことを知っているか、ドキュメントの場所を知っていますか?

答えて

10

私の個人的な経験から、IDや名前など、リポジトリ上のオブジェクトを検索すると、名前付きクエリメソッドはタイプTのオブジェクトを返しますが、レポから結果が見つからない場合は、 nullを返します。

複数の要素を返すメソッドは、空のコレクションList<T>(nullではない)を生成します。ここ

一部のマニュアル: http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords

付録D:リポジトリクエリの戻り値の型

サポートされているクエリの戻り値の型 クエリの戻り値の型:

Tアンユニークなエンティティ。クエリメソッドが になると、1つの結果が返されます。結果が見つからない場合、ヌルは が返されます。複数の結果が IncorrectResultSizeDataAccessExceptionをトリガーします。

イテレータイテレータ。

戻り値の型がTの場合にのみ似ていますが、一致するものがない場合はnullが返されます。

+0

私は決して個人的な答えをupvotedしていない、それが正しい振る舞いかどうかわからない... :) – exoddus

+2

damn NP hehe! if!= nullの文は、より良い読み/より良い文書によって回避されます。 – exoddus

関連する問題