我想在JPQL中使用以下mysql函数:-
TIMESTAMPDIFF(YEAR, some_start_date, CURDATE());
同样,我不必在JPA中使用Criteria,因为我们遵循编写命名查询(JPQL)的实践。那么,如何用JPQL编写这个函数呢?
在JPQL中没有时间戳差异。Eclipse有关键字FUNC
,它允许调用db特定的函数,如timestampdiff。
如果您使用的是JPA 2.1或更高版本,请尝试以下JPQL:
select a from EntityClass a where FUNCTION('DATEDIFF', CURRENT_DATE, a.createDt) / 365 >= 1
上面的JPQL是用来检索创建时间超过1年的所有实体。