J'utilise des données de printemps et mon DAO ressemble
public interface StudentDAO extends JpaRepository<StudentEntity, Integer> {
public findAllOrderByIdAsc(); // I want to use some thing like this
}
Dans le code ci-dessus, la ligne commentée montre mon intention. Spring data peut-il fournir des fonctionnalités intégrées pour utiliser une telle méthode pour trouver tous les enregistrements par ordre de colonne avec ASC / DESC?
spring
spring-data
spring-data-jpa
Prashant Shilimkar
la source
la source
List<StudentEntity> findAllByOrderByIdAsc();
. Ajouter un type de retour et supprimer le modificateur public redondant est également une bonne idée;)By
avant leOrderBy
mot - clé fait toute la différence.By
à l'avantOrderBy
. La documentation n'en parle pas .AFAIK, je ne pense pas que ce soit possible avec une requête de nommage de méthode directe. Vous pouvez cependant utiliser le mécanisme de tri intégré, en utilisant la
Sort
classe. Le référentiel a unefindAll(Sort)
méthode dont vous pouvez passer une instanceSort
à. Par exemple:la source
findAll()
dans le typeCrudRepository<>
n'est pas applicable pour les arguments (Trier)JpaRepository<>
si vous souhaitez utiliser l'exemple ci-dessus.Veuillez consulter Spring Data JPA - Reference Documentation, section 5.3. Méthodes de requête , en particulier à la section 5.3.2. Création de requête , dans " Tableau 3. Mots-clés pris en charge dans les noms de méthode " (liens à partir du 2019-05-03).
Je pense qu'il a exactement ce dont vous avez besoin et la même requête que vous avez déclaré devrait fonctionner ...
la source
Manière simple:
Source: https://www.baeldung.com/spring-data-sorting
la source
Oui, vous pouvez trier à l'aide de la méthode de requête dans Spring Data.
Ex: ordre croissant ou ordre décroissant en utilisant la valeur du champ id.
Code:
solution alternative:
Tri des données de printemps: tri
la source
J'essaie dans cet exemple de vous montrer un exemple complet pour personnaliser vos tris OrderBy
vous utiliserez cet exemple: Une méthode pour construire dynamiquement un objet cette instance de Sort:
la source
En combinant toutes les réponses ci-dessus, vous pouvez écrire du code réutilisable avec BaseEntity:
L'objet DAO surcharge la méthode findAll - en gros, utilise toujours
findAll()
StudentEntity
étendBaseEntity
qui contient des champs répétables (peut-être que vous souhaitez également trier par ID)Enfin, le service et l'utilisation de celui-
SORT_BY_CREATED_AT_DESC
ci seront probablement utilisés non seulement dans leStudentService
.la source