Il Between
La parola chiave lega naturalmente due parametri. Pertanto, dopo aver vincolato la clausola from, l'elenco dei parametri è esaurito e non sappiamo quali parametri utilizzare per il secondo criterio.
Una query definita manualmente dovrebbe fare il trucco:
interface BookRepository extends Repository<Book, Integer> {
@Query("select b from Book b " +
"where b.from between ?1 and ?2 and b.to between ?1 and ?2")
List<Book> findByDatesBetween(Date departure, Date arrival);
}