gpt4 book ai didi

spring - HQL查询两个日期之间的记录

转载 作者:IT老高 更新时间:2023-10-28 13:53:38 25 4
gpt4 key购买 nike

我正在尝试在我的 Spring/Hibernate 应用程序中使用 HQL 查询所有在 Date1 和 Date2 之间具有 DateAdded 或在 Date1 和 Date2 之间具有 LastSeen 的客户记录,因此我在 Repository/DAO 类中构建了这个 HQL 查询:

sessionfactory.getCurrentSession().createQuery("from Customer c where c.dateAdded BETWEEN '"+startDate+"' AND '"+endDate+"' OR c.lastSeenDate BETWEEN  '"+startDate+"' AND '"+endDate+"'").list();

我已调试应用检查 startDate 和 endDate 并发现它们发送为:

开始日期:2014 年 1 月 22 日星期三 01:16:57 HKT

结束日期:2014 年 1 月 29 日星期三 01:16:57 HKT

在 DB 中,我 100% 确定至少有一条记录满足此查询,因为这条记录 DateAdded 和 LastSeen 如下:

2014-01-23 15:33:38

2014-01-25 15:33:38

那么有人可以告诉我我做错了什么/在这里失踪了吗?

最佳答案

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String frmDate = format.parse(startDate);
String enDate = format.parse(endDate);
sessionfactory.getCurrentSession()
.createQuery("FROM Customer AS c WHERE c.dateAdded BETWEEN :stDate AND :edDate ")
.setParameter("stDate", frmDate)
.setParameter("edDate", enDate)
.list();

希望这会有所帮助!

关于spring - HQL查询两个日期之间的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21265134/

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