Comment combiner plusieurs recherches de dates avec CrudRepository of Spring Data JPA?

spring-data fournit un moyen de générer une recherche SQL en définissant le nom de la méthode.

Ce qui suit fonctionne bien:

@Entity public class Book { Date from, to; } //CrudRepository findByFromDateBetween(Date departure, Date arrival); 

Mais pourquoi alors ce qui suit ne fonctionne pas?

 findByFromDateBetweenAndToDateBetween(Date departure, Date arrival); 

Pour connecter deux recherches de date, je dois répéter la date:

 findByFromDateBetweenAndToDateBetween(Date departure, Date arrival, Date departure, Date arrival); 

Question: est-il possible de réutiliser les parameters?

Le mot-clé Between lie naturellement deux parameters. Ainsi, après avoir lié la clause from, la liste de parameters est épuisée et nous ne soaps pas quels parameters utiliser pour le deuxième critère.

Une requête définie manuellement devrait faire l’affaire:

 interface BookRepository extends Repository { @Query("select b from Book b " + "where b.from between ?1 and ?2 and b.to between ?1 and ?2") List findByDatesBetween(Date departure, Date arrival); }