Spring JPA Requête renvoie la valeur Null au lieu de la Liste

J'ai un @Entity Video avoir un un-à-plusieurs relation avec un List<Tag> tags comme l'un de ses champs. J'utilise la suite @Repository à l'aide de Printemps de Données pour obtenir les plus populaires tags:

@Repository
public interface TagRepository extends CrudRepository<Tag, Integer>{
    @Query("SELECT t FROM Tag t WHERE (SELECT SUM(v.views) FROM Video v WHERE t MEMBER OF v.tags) > 0")
    public List<Tag> findMostViewedTags(int maxTags);
}

La Requête est traitée et considérée comme valide par Printemps, j'ai testé le générés SQL vs ma base de données en local et qu'il a renvoyé 2 Tags. Dans mon Code, cependant, je reçois la valeur Null lorsque j'appelle la méthode findMostViewedTags(100).

La Requête de recherche de stratégie par défaut est "CREATE_IF_NOT_FOUND".

  1. Si il n'y a pas des résultats trouvés, si la méthode renvoie une liste vide ou Null? Mon comportement désiré est de recevoir une liste vide.
  2. Pourquoi la méthode de retour d'appel de Null au lieu d'un List<Tag> avec la taille() 2?
maxTags n'est pas utilisé, ou qui n'est pas la requête vous sont effectivement en cours d'exécution.

OriginalL'auteur Vjeetje | 2016-01-27