2014-09-01 89 views
0

之間,我試圖用CriteriaBuilder.between的方法,但我有一個錯誤,代碼是這樣的:CriteriaBuilder在JPA與

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(一)。凡(的CBuilder。之間(a.get( 「fechaFin」),fechaInicio,fechaFin));是錯的,但我怎麼能做到這一點呢?

非常感謝

回答

0

這樣我可以回答自己:

Predicate predicate = cBuilder.between(a.get(Oferta_.fechaFin),fechaInicio,fechaFin);  
    cQuery.select(a).where(predicate); 
相關問題