Я пытаюсь сделать запрос критериев (JPA/Hibernate) в модели, содержащей один столбец с датой (Oracle 11G). Например, у меня есть
- 13 января 2009 г.
- 15 января 2009 г.
- 16 марта 2009 г.
И моя функция похожа на:
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 января 2009 г.
- 15 января 2009 г.
Любая помощь будет очень признательна, спасибо заранее.