Between
キーワードは自然に2つのパラメータをバインドします。したがって、from句をバインドした後、パラメータリストが使い果たされ、2番目の基準に使用するパラメータがわかりません。
手動で定義されたクエリでうまくいくはずです:
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);
}