spring-dataは、メソッド名を定義することによってSQL検索を生成する方法を提供します。
以下は正常に機能します。
@Entity
public class Book {
Date from, to;
}
//CrudRepository<Book>
findByFromDateBetween(Date departure, Date arrival);
しかし、なぜ次のことが機能しないのですか?
findByFromDateBetweenAndToDateBetween(Date departure, Date arrival);
2つの日付検索を接続するには、日付を繰り返す必要があります。
findByFromDateBetweenAndToDateBetween(Date departure, Date arrival, Date departure, Date arrival);
質問:パラメータを再利用することは可能ですか?
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);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加