gpt4 book ai didi

datetime - 如何在 JPA 中查询 "older than three minutes"?

转载 作者:行者123 更新时间:2023-12-03 23:54:26 25 4
gpt4 key购买 nike

有没有办法在 JPA 查询中放置引用当前时间的日期范围条件(跨数据库兼容)?

我可以

SELECT m FROM Mail m WHERE m.sentAt < :date

但我想这样做而不必绑定(bind)参数(以便可以将其配置为命名查询存储库的一部分,并且日期计算逻辑不必输入调用代码)。

所以而不是 :date我需要“currentTime 减去 3 分钟”作为硬编码文字。

最佳答案

如果您使用 Hibernate JPA 实现和 Oracle 方言,那么您可以使用 SYSDATE返回当前日期和时间的函数。如果给 SYSDATE 加 1它会增加一天。

还支持添加分数:

  • sysdate + 1/24将增加一个小时
  • sysdate + 1/(24*60)将增加一分钟
  • sysdate + 1/(24*60*60)将添加第二个

  • So instead of :date I need "currentTime minus 3 minutes" as a hard-code literal.


    sysdate - 3/(24*60)将从当前日期和时间减去 3 分钟:
    SELECT m FROM Mail m WHERE m.sentAt < sysdate - 3/(24*60)

    超过 3 分钟的记录将被返回,无需参数绑定(bind)。

    关于datetime - 如何在 JPA 中查询 "older than three minutes"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18505064/

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