首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何比较HQL中的时间戳字段?

如何比较HQL中的时间戳字段?
EN

Stack Overflow用户
提问于 2018-05-28 05:58:16
回答 1查看 363关注 0票数 0

我在一个表中有一个Java.Util.Timestamp列,但我无法与WHERE子句中的变量进行比较。使用以下代码:

代码语言:javascript
复制
        // Using Calendar to convert Java Date 'horarioEliminar' to Sql Timestamp 't'
        Calendar cal = Calendar.getInstance();
        cal.setTime(horarioEliminar);
        cal.set(Calendar.MILLISECOND, 0);

        Timestamp t = new java.sql.Timestamp(cal.getTimeInMillis());

        String horQ = "FROM Academia.Horarios WHERE horario ="+ t;
        horario = (Horarios) session.createQuery(horQ).uniqueResult();

我有一个例外:

org.hibernate.hql.internal.ast.ErrorCounter.reportError错误http-nio-8080-exec-873

第1:57行:意外标记: 10

但是我检查了System.out.println(t)结果是否与存储在horario列中的值匹配。如何正确地比较这两个时间戳?

EN

回答 1

Stack Overflow用户

发布于 2018-05-28 09:46:20

尝试将时间戳设置为查询参数,如下所示:

代码语言:javascript
复制
 Timestamp t = new java.sql.Timestamp(cal.getTimeInMillis());

 String horQ = "FROM Academia.Horarios WHERE horario = :ts";
 horario = (Horarios) session.createQuery(horQ).setParameter("ts", t).uniqueResult();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50556888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档