CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery cQuery = builder.createQuery();
Root<AcsTemplateDateJPA> root = cQuery.from(AcsTemplateDateJPA.class);
ParameterExpression<Date> d = builder.parameter(Date.class);
cQuery.where(builder.between(d, root.<Date>get("inservicedate"), root.<Date>get("outservicedate")));
Query query = em.createQuery(cQuery.select(root.get("acstemplateid"))).setParameter(d, planDate, TemporalType.DATE);
List results =query.getResultList();
here outService date can be null (the end is infinitely in the future)
how i can add this condition?
Thanks,
Best Answer
I would split the date comparison in two blocks, and test if
outservicedate
isNull(). Something like: