Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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
Java 如何在HQL中比较时间戳和日期?_Java_Hibernate - Fatal编程技术网

Java 如何在HQL中比较时间戳和日期?

Java 如何在HQL中比较时间戳和日期?,java,hibernate,Java,Hibernate,有一个映射到类的时间戳字段有序\u ts。我需要在哪里找到实例 1) (ordered_ts为空)或 2) (ordered\u tscurrent\u date) 这是我试过的。这是HQL语法(不特定于数据库) SELECT . . . WHERE (CAST(coalesce(t.ordered_ts, TO_TIMESTAMP('2000-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) as DATE) <> CURRENT_DATE

有一个映射到类的时间戳字段
有序\u ts
。我需要在哪里找到实例

1) (
ordered_ts
为空)或

2) (
ordered\u ts
current\u date)


这是我试过的。这是
HQL
语法(不特定于数据库)

SELECT . . . 
WHERE (CAST(coalesce(t.ordered_ts, TO_TIMESTAMP('2000-01-01 00:00:00', 
'YYYY-MM-DD HH24:MI:SS')) as DATE) <> CURRENT_DATE) 


(PS底层数据库是mysql,但我正在寻找SQL的查询

使用

然后

SELECT . . . WHERE ordered_ts_date <> CURRENT_DATE)
选择。订购地点(当前日期)

谢谢。但是从UNIXTIME开始就是mysql语法。它将在
hibernatehql
中工作吗?因此我需要在映射bean中创建一个额外的字段
ordered\u ts\u date
?或者动态创建
ordered\u ts\u date
,并在准备好的语句中插入?这似乎有点过分了。应该有一个简单的解决办法。我的bean有
ordered\u ts
字段。应该有一种方法来比较
有序日期
当前日期
您应该创建
有序日期
作为方法变量,并在插入HQL之前进行空指针检查。
SELECT . . . 
WHERE (FROM_UNIXTIME(coalesce(t.ordered_ts, TO_TIMESTAMP('2000-01-01 00:00:00', 
'YYYY-MM-DD HH24:MI:SS')) as DATE) <> CURRENT_DATE)
 Date ordered_ts_date= new Date(ordered_ts.getTime());
SELECT . . . WHERE ordered_ts_date <> CURRENT_DATE)