Je regarde les exemples donnés sur cette page ( http://docs.spring.io/spring-data/jpa/docs/current/reference/html/jpa.repositories.html ) à propos de nom de méthode, est-il possible de créer un nom de méthode de chaîne complexe tel que
findByProgrammeAndDirectorAndProgDateBetweenOrderByProgDateStartTimeAsc
Dans l'exemple qu'ils donnent, ils ne font un OrderBy que sur une seule valeur. Dans l'exemple ci-dessus, ProgDate
et StartTime
seraient deux valeurs distinctes.
L'astuce consiste à simplement délimiter les propriétés que vous souhaitez trier en utilisant les mots-clés de direction Asc
et Desc
. Donc, ce que vous voulez probablement dans votre méthode de requête, c'est quelque chose comme:
…OrderByProgDateAscStartTimeAsc
Remarquez comment nous concluons la première définition de propriété par Asc
et continuons avec la propriété suivante.
De manière générale, nous vous recommandons de passer à @Query
requêtes basées, une fois que les noms de méthode dépassent une certaine longueur ou complexité. La raison principale étant qu'il est gênant pour les clients d'appeler ces très longues méthodes. Avec @Query
vous obtenez plutôt toute la puissance du langage de requête plus un nom de méthode de taille raisonnable qui pourrait être d'un langage de niveau supérieur pour exprimer l'intention de la requête.
Oui, cela devrait être possible:
Essaye ça:
findByProgrammeAndDirectorAndProgDateBetweenOrderByProgDateStartTimeAsc(String programme, String director, Date progStart, Date progEnd);
Je n'ai pas testé le code, mais selon les choses que j'ai déjà faites, cela devrait fonctionner.