Как использовать функцию CURRENT_DATE в критерии гибернации? - PullRequest
1 голос
/ 30 сентября 2010

Я хочу перевести следующий HQL в нотацию Критерии:

from Deal
where CURRENT_DATE between startDate and endDate

Я пытался использовать Restrictions.between, но он не распознает current_date

Criteria c = session().createCriteria(Deal.class)
   .add(Restrictions.between("CURRENT_DATE", "startDate", "endDate");

1 Ответ

1 голос
/ 24 июня 2011

Просто используйте Гадкий Java-календарь!

Calendar c = new GregorianCalendar();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);

Date currentDate = c.getTime();

Criteria criteria = session.createCriteria(Deal.class)
.add(Restrictions.gt("startDate", currentDate))     
.add(Restrictions.lt("endDate", currentDate)); 
...