Java 与SQL查询等效的Hibernate条件
我需要从表中查找所有超过180天的行。为此,我编写了以下SQL查询: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中
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查询,如果无法使用条件