我在一个表中有一个Java.Util.Timestamp列,但我无法与WHERE子句中的变量进行比较。使用以下代码:
// 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列中的值匹配。如何正确地比较这两个时间戳?
发布于 2018-05-28 09:46:20
尝试将时间戳设置为查询参数,如下所示:
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();
https://stackoverflow.com/questions/50556888
复制相似问题