Я пытаюсь сделать запрос критериев (JPA/Hibernate) в модели, содержащей один столбец с датой (Oracle 11G). Например, у меня естьCriteriaQuery month and year filter
- 13-JAN-09
- 15-JAN-09
- 16-MAR-09
И моя функция как:
public MyEntity getEntitiesFromCertainFilters(int a, int b, java.util.date c)
{
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<MyEntity> query = builder.createQuery(MyEntity.class);
Root<MyEntity> root = query.from(MyEntity.class);
query.select(root).where (
builder.equal (root.get ("id").get ("codEstablec") , establecimiento),
builder.equal (root.get ("id").get ("correlGrupo") , correlGrupo),
//HERE I NEED TO ADD FILTER BY C.MONTH AND C.YEAR FROM THE DATE ATTRIBUTE
);
List <MyEntity> resultList = entityManager.createQuery(query).getResultList();
return resultList.get(0);
}
Если я хочу фильтровать c = "01-JAN-09", он должен вернуть:
- 13-JAN-09
- 15-JAN-09
Любая помощь будет очень ценна, заранее спасибо.
Итак, цель состоит в том, чтобы найти даты, которые относятся к одному месяцу? – Compass
И год, но с любым из них я могу воспроизвести логику. – Thrasher