【发布时间】:2015-11-04 08:38:20
【问题描述】:
我写正确的 SQL 查询:
SELECT i, (i.sme_end - '2015-09-10')
FROM Incidents i
WHERE (i.sme_end - '2015-09-10') <= 100
ORDER BY ('2015-09-10' - i.sme_end)
但是当我在 HQL 上重写这个查询时:
java.util.Date currentDate = new java.util.Date(System.currentTimeMillis());
int days = 100;
session.createQuery("SELECT i, (i.smeEnd - :currentDate) "+
"FROM IncidentsEntity i " +
"WHERE (i.smeEnd - :currentDate) <= :days " +
"ORDER BY (i.smeEnd - :currentDate)")
.setParameter("days", days)
.setParameter("currentDate", currentDate);
我得到 ClassCastException: java.lang.Integer cannot be cast to java.util.Date
我在哪里做错了? 数据库 Postgresql 9.4
【问题讨论】:
-
currentDate的类型是什么? -
days和currentDate的声明是什么? -
对不起,忘了写:java.util.Date currentDate = new java.util.Date(System.currentTimeMillis());整数天 = 100;
标签: java hibernate postgresql hql