O
Between
palavra-chave liga naturalmente dois parâmetros. Assim, após vincular a cláusula from, a lista de parâmetros está esgotada e não sabemos quais parâmetros usar para o segundo critério. Uma consulta definida manualmente deve funcionar:
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);
}