Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate HQL中的减法日期_Hibernate_Hql - Fatal编程技术网

Hibernate 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< 案

有没有办法在HQL中删除日期。我刚刚发现如何从日期中减去天数:

但我需要减去毫秒或日期,但当我试图使用它时,我得到了
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不幸的是,我不能将日期存储为时间戳。。。