Hibernate HQL中的减法日期
有没有办法在HQL中删除日期。我刚刚发现如何从日期中减去天数: 但我需要减去毫秒或日期,但当我试图使用它时,我得到了Hibernate HQL中的减法日期,hibernate,hql,Hibernate,Hql,有没有办法在HQL中删除日期。我刚刚发现如何从日期中减去天数: 但我需要减去毫秒或日期,但当我试图使用它时,我得到了QuerySyntaxException 我需要这样做: h.createDate < CASE WHEN h.timeout IS NOT NULL THEN current_timestamp() - h.timeout ELSE :date END h.createDate< 案
QuerySyntaxException
我需要这样做:
h.createDate <
CASE
WHEN h.timeout IS NOT NULL
THEN current_timestamp() - h.timeout
ELSE :date
END
h.createDate<
案例
当h.timeout不为空时
然后是当前时间戳()-h.timeout
其他:日期
结束
我可以使用HQL吗?HQL没有这种日期函数 因此,如果您希望操作日期并仍然使用JPQL/HQL查询,则需要查看数据库中的本机日期函数,并在HQL查询中使用它们
例如,使用MySql,您可以使用
DATE\u SUB
函数从日期中减去天数。HQL不支持太多的日期操作,部分原因是底层SQL数据库处理日期的方式彼此非常不同。如果您可以容忍将日期存储为UNIX时间戳,那么对它们进行任何运算都是很容易的。@TimBiegeleisen不幸的是,我不能将日期存储为时间戳。。。