web-dev-qa-db-fra.com

Renvoie la valeur de la requête JPA lorsqu'aucune correspondance n'a été trouvée

J'utilise Spring JPA named querys Dans mon référentiel. Mon problème est que je ne trouve nulle part des informations sur la valeur renvoyée pour une requête qui ne correspondrait à aucun résultat. Je suppose que ce sera nul pour findOne() mais je n'ai aucune idée de ce que ce serait pour findAllByName() fonction.

Est-ce que quelqu'un connaît son expérience ou connaît une place dans la documentation?

13
xenteros

D'après ma petite expérience personnelle, si vous recherchez un objet sur votre référentiel, par exemple par Id ou Name, la méthode de requête nommée renvoie un objet de type T, mais si aucun résultat n'est trouvé à partir de votre référentiel, il renverra null.

Les méthodes qui peuvent renvoyer plusieurs éléments produiront une collection vide List<T> (non nul).

Quelques documents ici: http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords

Annexe D: Types de retour de requête de référentiel

Types de retour de requête pris en charge Types de retour de requête:

T Une entité unique. Attend que la méthode de requête renvoie un résultat au maximum. Si aucun résultat n'est trouvé, null est renvoyé. Plusieurs résultats déclencheront une exception IncorrectResultSizeDataAccessException.

Itérateur Un itérateur.

Semble comme uniquement lorsque le type de retour est de type T est le seul qui spécifie un null est retourné si aucune correspondance.

20
exoddus