Пример использования CURRENT_DATE в запросе JPA - PullRequest
11 голосов
/ 28 октября 2009

Может кто-нибудь указать мне пример использования CURRENT_DATE в запросе JPA?

CURRENT_DATE указано в JPA, но я не смог заставить его работать. Я всегда получаю исключение unexpected token [CURRENT_DATE]. Так как это указано в JPA, все провайдеры должны его соблюдать, верно?

Я использую EclipseLink 2.0 BTW.

Ответы [ 3 ]

16 голосов
/ 28 октября 2009

Может использоваться так:

Query query = manager
    .createQuery("SELECT c FROM CITIES c WHERE c.founded = CURRENT_DATE");
for (Object city : query.getResultList()) {
  System.out.println(city);
}

... где основано - временной тип:

  @Column(name = "FOUNDED")
  @Temporal(TemporalType.DATE)
  private Date founded = new Date();

Не очень хороший пример, но вы поняли идею. Я использую Eclipselink 1.1.2

4 голосов
/ 07 февраля 2011

Ответом на этот вопрос было получение значений через JPA, а затем выполнение математических операций на простом Java.

3 голосов
/ 28 октября 2009

Если вы используете Expression Framework , то для объекта Expression (org.eclipse.persistence.expressions.Expression) существует метод Expression currentDateDate().

...