在JPA查询中使用CURRENT_DATE的示例

有人能指出我如何在JPA查询中使用CURRENT_DATE的示例吗?

CURRENT_DATE在JPA中指定,但我无法使其工作。 我总是得到unexpected token [CURRENT_DATE]exception。 由于JPA中规定了所有提供商都应该遵守它吗?

我正在使用EclipseLink 2.0 BTW。

它可以像这样使用:

 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

这个问题的答案是通过JPA检索值,然后用普通Java进行数学运算。

如果您使用的是Expression Framework ,则Expressionorg.eclipse.persistence.expressions.Expression )对象上有Expression currentDateDate()方法。