Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 与SQL查询等效的Hibernate条件_Java_Hibernate - Fatal编程技术网

Java 与SQL查询等效的Hibernate条件

Java 与SQL查询等效的Hibernate条件,java,hibernate,Java,Hibernate,我需要从表中查找所有超过180天的行。为此,我编写了以下SQL查询: SELECT * FROM table_name WHERE (EXTRACT (DAY FROM (CURRENT_TIMESTAMP - UPDATE_TS))) > 180 在上面的查询中,UPDATE\u TS是存储每行时间戳的列 我在Oracle中运行了上述查询,该查询将返回所需的结果 我使用Hibernate进行数据持久化,所以我想使用Hibernate标准API进行同样的操作。我在Hibernate中

我需要从表中查找所有超过180天的行。为此,我编写了以下SQL查询:

SELECT * FROM table_name WHERE 
(EXTRACT (DAY  FROM (CURRENT_TIMESTAMP - UPDATE_TS))) > 180
在上面的查询中,UPDATE\u TS是存储每行时间戳的列

我在Oracle中运行了上述查询,该查询将返回所需的结果

我使用Hibernate进行数据持久化,所以我想使用Hibernate标准API进行同样的操作。我在Hibernate中工作不多,所以觉得做起来有点困难


有人能帮我一下吗?

你可以在JPQL中为日期/时间操作获取一个当前日期|当前时间|当前时间戳。我没有在任何实现中看到
EXTRACT
的用法。所以你可能想直接比较几天?查看更多详细信息。

Hibernate查询语言将非常适合您

from YourEntity e where (day(current_date()) - day(e.myDate)) > 180
我没有测试这个HQL,但类似的东西应该可以工作。了解HQL:

我想知道您是否不能简单地使用
select。。如果sysdate-update\u ts>180
,那么标准将很容易构建。虽然我可以使用sql查询,如果无法使用条件