JPQL中的timestampdiff等效项(不使用条件)

时间:2015-09-30 12:05:02

标签: java mysql jpa jdbc

我想在JPQL中使用以下mysql函数: -

TIMESTAMPDIFF(YEAR, some_start_date, CURDATE());

此外,我不必在JPA中使用Criteria,因为我们遵循编写命名查询(JPQL)的做法。那么,如何用JPQL编写这个函数呢?

2 个答案:

答案 0 :(得分:1)

JPQL中没有timestampdiff。 Eclipse具有关键字FUNC,允许调用特定于DB的函数,如timestampdiff。

答案 1 :(得分:0)

如果您使用的是JPA 2.1或更高版本,请尝试以下JPQL:

select a from EntityClass a where FUNCTION('DATEDIFF', CURRENT_DATE, a.createDt) / 365 >= 1

上面的JPQL用于检索已创建超过1年的所有实体。