java - HQL(hibernate) 时间戳范围匹配

标签 java hibernate timestamp hql

我需要编写一个查询来获取某个时间范围内的对象,目前查询如下所示:

Timestamp from = ... 
Timestamp to = ...

getHibernateTemplate().find("from " + Person.class.getName() + " ml where ml.lastModifiedOn>="+from.toString()+" and m1.lastModifiedOn<=" + to.toString());

但是,由于显而易见的原因,这不起作用。我如何格式化查询可以接受的时间戳。

org.springframework.orm.hibernate3.HibernateQueryException:意外标记:16 靠近第 1 行,第 123 列 [来自 Person ml where ml.lastModifiedOn>=2010-02-12 16:00:21.292 and m1.lastModifiedOn

最佳答案

您在当前查询中缺少单引号。以下应该有效:

from Person ml where ml.lastModifiedOn 
between '2010-02-12 16:00:21.292' and '2010-02-12 23:00:21.292' 

请注意,我不知道您为什么不将 Date 实例传递给以下查询:

from Person ml where ml.lastModifiedOn between :from and :to 

你在这里使用 java.sql.Timestamp 吗?如果是,则您不应该这样做。

关于java - HQL(hibernate) 时间戳范围匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2864925/

相关文章:

java - 无法在 macOS 上打开文件 - FileNotFoundException,不允许操作

java - 托盘图标.displaymessage文本大小java

java - 外键更新异常: foreign keys set to null in Hibernate one-to-many relationship

java - 是否可以保留包含另一个集合的 map

java - 从 Spring 2.5.6 升级到 3.2.6 导致 Spring Transaction Management 不再适用于 JBoss 5.1.0 和 Hibernate 3.5.6

python - 将 Unix 时间戳转换为 AOE

java - HTTP 状态 500 - 内部服务器错误 - 管道损坏

java - createNativeQuery 映射到 POJO(非实体)

java - 一旦Entity持久化到timestamptz,Java时区信息会丢失吗?

javascript - Date.getTime() 在 IE11 中为 ISO/Twitter API 日期返回 NaN