我试图使用CriteriaBuilder.between但是我有一个错误,代码是这样的:
public List<Oferta> findByFechaFinOferta(Date fechaInicio,Date fechaFin){
CriteriaBuilder cBuilder = em.getCriteriaBuilder();
CriteriaQuery<Oferta> cQuery =cBuilder.createQuery(Oferta.class);
Root<Oferta> a = cQuery.from(Oferta.class);
ParameterExpression <String> param = cBuilder.parameter(String.class);
cQuery.select(a).where(cBuilder.between(a.get("fechaFin"),fechaInicio,fechaFin));
TypedQuery<Oferta> tQuery = em.createQuery(cQuery);
List<Oferta> oferta = tQuery.getResultList();
return oferta;
}
cQuery.select(a).where(cBuilder.between(a.get(&#34; fechaFin&#34;),fechaInicio,fechaFin));是错的,但我怎么做才能使它成功?
非常感谢
答案 0 :(得分:0)
通过这种方式,我可以自己回答:
Predicate predicate = cBuilder.between(a.get(Oferta_.fechaFin),fechaInicio,fechaFin);
cQuery.select(a).where(predicate);