Hay*_*hem 5 java sql hibernate jpa jpql
我正在使用 JPA 和 JPQL。我是这个世界的新人;-) 我的查询现在为我提供两个日期之间的数据。
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)");
Run Code Online (Sandbox Code Playgroud)
我如何告诉 JPQL 过滤他在 2 个日期之间但时间间隔为 4 分钟的数据给我的数据?
我希望这是清楚的。谢谢你的建议。
您的要求:提供的两个日期之间的差异应至少为四分钟。根据JPA 1.0规范,日期之间的比较表达式必须遵循此模式
日期时间表达式 比较运算符日期时间表达式
其中comparison_operator可以是=、>、>=、<、<=、<>。你能做的是
按如下方式计算您提供的日期之间的差异
Timestamp dateA ...
Timestamp dateB ...
Timestamp difference = new Timestamp(Math.abs(dateA.getTime() - dateB.getTime()));
Run Code Online (Sandbox Code Playgroud)
并创建一个代表 4 分钟的时间戳
Timestamp fourMinutes = new Timestamp(0, 0, 0, 0, 4, 0, 0);
Run Code Online (Sandbox Code Playgroud)
现在你的查询应该是这样的
where :difference >= :fourMinutes
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7210 次 |
| 最近记录: |