JPQL 中的 timestampdiff 等效项(不使用标准)
Posted
技术标签:
【中文标题】JPQL 中的 timestampdiff 等效项(不使用标准)【英文标题】:timestampdiff equivalent in JPQL (without using criteria) 【发布时间】:2015-12-28 05:04:20 【问题描述】:我想在 JPQL 中使用以下 mysql 函数:-
TIMESTAMPDIFF(YEAR, some_start_date, CURDATE());
另外,我不必在 JPA 中使用 Criteria,因为我们正在遵循编写命名查询 (JPQL) 的做法。那么,JPQL怎么写这个函数呢?
【问题讨论】:
【参考方案1】:JPQL 中没有时间戳差异。 Eclipse 有关键字FUNC
,它允许调用特定于数据库的函数,例如timestampdiff。
【讨论】:
【参考方案2】:如果您使用的是 JPA 2.1 或更高版本,请尝试以下 JPQL:
select a from EntityClass a where FUNCTION('DATEDIFF', CURRENT_DATE, a.createDt) / 365 >= 1
上面的JPQL是检索所有创建时间超过1年的实体。
【讨论】:
以上是关于JPQL 中的 timestampdiff 等效项(不使用标准)的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript 中的 querySelectorAll 等效项