有人能指出一个关于如何在JPA查询中使用CURRENT_DATE
的示例吗?
CURRENT_DATE
,但我无法使其正常工作。我总是得到unexpected token [CURRENT_DATE]
例外。由于JPA中规定了所有提供商都应该遵守它吗?
我正在使用EclipseLink 2.0 BTW。
答案 0 :(得分:16)
可以像这样使用:
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
答案 1 :(得分:4)
这个问题的答案是通过JPA检索值,然后用普通Java进行数学运算。
答案 2 :(得分:3)
如果您使用Expression Framework Expression currentDateDate()
(Expression
)对象上有org.eclipse.persistence.expressions.Expression
方法。