gpt4 book ai didi

java - 带间隔的 JPQL 查询日期

转载 作者:搜寻专家 更新时间:2023-11-01 03:44:31 24 4
gpt4 key购买 nike

我正在使用 JPA 和 JPQL。我是这个世界上的新人;-)我的查询现在为我提供 2 个日期之间的数据。

Query query =em.createQuery("SELECT d FROM DTable d JOIN d.history p WHERE (d.vehicle.id = :vehicleId) AND (p.timestamp BETWEEN :curentDate AND :date)");

我如何告诉 JPQL 过滤他在 2 个日期之间但时间间隔为 4 分钟的数据给我的数据?

我希望它是清楚的。谢谢你的建议。

最佳答案

您的要求:两个提供的日期之间的差异应至少四分钟。根据JPA 1.0规范,日期之间的比较表达式必须遵循这种模式

datetime_expression comparison_operator datetime_expression

其中 comparison_operator 可以是 =、>、>=、<、<=、<>。你能做的是

按如下方式计算您提供的日期之间的差异

Timestamp dateA ...
Timestamp dateB ...

Timestamp difference = new Timestamp(Math.abs(dateA.getTime() - dateB.getTime()));

并创建一个 Timestamp代表4分钟

Timestamp fourMinutes = new Timestamp(0, 0, 0, 0, 4, 0, 0);

现在您的查询应该看起来像

where :difference >= :fourMinutes

关于java - 带间隔的 JPQL 查询日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5390028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com