gpt4 book ai didi

mysql - 如何在JPA中查询时间戳间隔?

转载 作者:行者123 更新时间:2023-11-29 06:09:52 24 4
gpt4 key购买 nike

我有一个“Log”实体,其中包含有关温度的信息。我正在尝试构建一个只有两个字段的报告:

quantity : this field will tell how much my search should look
interval : minutes, hours, days, months, years (this field tells me how much is the interval of the search

这是我的Log 实体:

public class Log implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;

private Timestamp time;

private String value;
// getters and setters ...

因此,当用户通知 1 分钟 时,我应该查找最后一分钟(或至少 60 条记录)。

或者如果是 1 个月,我应该获取上个月的所有数据。

我正在尝试这样的事情:

log.time < CURRENT_TIMESTAMP AND log.time > :param

但是我如何指定分钟、小时?我的意思是如何让我的查询更加具体?

最佳答案

如果时间单位是“天”:

Calendar now = Calendar.getInstance();
now.add(Calendar.DAY_OF_MONTH, -quantity);
Date param = now.getTime();

保持查询不变,并将 param 绑定(bind)到 :param 请求参数。

对于其他时间间隔,执行相同的操作,但使用适当的日历字段(HOUR_OF_DAY、MINUTE 等)而不是 Calendar.DAY_OF_MONTH。

关于mysql - 如何在JPA中查询时间戳间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9638429/

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