【发布时间】:2010-12-10 20:59:15
【问题描述】:
谁能给我举个例子,说明如何在 JPA 查询中使用 CURRENT_DATE?
CURRENT_DATE 在 JPA 中指定,但我无法使其工作。我总是得到unexpected token [CURRENT_DATE] 异常。由于它在 JPA 中指定,所有提供者都应该遵守它,对吗?
我正在使用 EclipseLink 2.0 BTW。
【问题讨论】:
标签: java jpa eclipselink
谁能给我举个例子,说明如何在 JPA 查询中使用 CURRENT_DATE?
CURRENT_DATE 在 JPA 中指定,但我无法使其工作。我总是得到unexpected token [CURRENT_DATE] 异常。由于它在 JPA 中指定,所有提供者都应该遵守它,对吗?
我正在使用 EclipseLink 2.0 BTW。
【问题讨论】:
标签: java jpa eclipselink
如果您使用的是Expression Framework,则Expression (org.eclipse.persistence.expressions.Expression) 对象上有Expression currentDateDate() 方法。
【讨论】:
这个问题的答案是通过 JPA 检索值,然后用纯 Java 进行数学运算。
【讨论】:
可以这样使用:
Query query = manager
.createQuery("SELECT c FROM CITIES c WHERE c.founded = CURRENT_DATE");
for (Object city : query.getResultList()) {
System.out.println(city);
}
...其中 founded 是一种时间类型:
@Column(name = "FOUNDED")
@Temporal(TemporalType.DATE)
private Date founded = new Date();
不是一个很好的例子,但你明白了。我正在使用 Eclipselink 1.1.2
【讨论】: