@NamedQuery remplacer findAll au Printemps de Données Reste JpaRepository

Est-il un moyen de remplacer la findAll requête exécutée par le Printemps des Données Reste?

J'ai besoin d'un moyen de filtrer les résultats en fonction de certains critères spécifiques, et il semble que l'utilisation d'un @NamedQuery devrait être le long des lignes de ce que je cherche j'ai donc l'installation d'un test.

@Entity
@Table(name = "users")
@NamedQueries({
    @NamedQuery(name = "User.findAll", query="SELECT u FROM User u WHERE u.username = 'test'"), 
    @NamedQuery(name = "User.findNameEqualsTest", query="SELECT u FROM User u WHERE u.username = 'test'")   
})
public class User implements Serializable, Identifiable<Long> { }

Dans ce lieu je m'attends DTS pour utiliser mon findAll() requête (retour 1 résultat), mais au lieu de cela, il exécute la même vieille findAll logique (le retour de tous les résultats).

Dans mon Référentiel, j'ai ajouté:

@Repository
@RestResource(path = "users", rel = "users")
public interface UserJpaRepository extends JpaRepository<User, Long> {

    public Page<User> findNameEqualsTest(Pageable pageable);
}

et dans ce cas, il NE ramasser la condition @NamedQuery. Alors...

Comment dois-je aller sur le remplacement du défaut findAll() logique? J'ai besoin de construire un ensemble complexe de critères et de l'appliquer à l'ensemble de résultats.

OriginalL'auteur Ethan Anderson | 2014-02-12