Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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
Oracle+JPA-带间隔的查询_Oracle_Select_Jpa - Fatal编程技术网

Oracle+JPA-带间隔的查询

Oracle+JPA-带间隔的查询,oracle,select,jpa,Oracle,Select,Jpa,我的DB表中有一个Timestamp列LASTUPDATED,我轮询它来决定是否应该更新一行。如果记录在过去10分钟内没有更新,我会更新它。我想将日期处理委托给DB,但以下工作均无效: 这一个表示预期的令牌::近[…] 这张上面写着意想不到的标记:“…”附近的“10” 这个上面写着意想不到的标记:“?”靠近[…] 顺便问一下,我可以在JPA中使用这个INTERVAL关键字吗?这个表达式在语法上是正确的,我用console测试了它 谢谢大家的帮助, GergelyJPA和Hibernate不支持间

我的DB表中有一个Timestamp列LASTUPDATED,我轮询它来决定是否应该更新一行。如果记录在过去10分钟内没有更新,我会更新它。我想将日期处理委托给DB,但以下工作均无效:

这一个表示预期的令牌::近[…]

这张上面写着意想不到的标记:“…”附近的“10”

这个上面写着意想不到的标记:“?”靠近[…]

顺便问一下,我可以在JPA中使用这个INTERVAL关键字吗?这个表达式在语法上是正确的,我用console测试了它

谢谢大家的帮助,
Gergely

JPA和Hibernate不支持间隔,最后我找到了

日期算术也被支持,尽管是以一种更有限的方式。这部分是由于数据库支持的差异,部分是由于查询语言本身缺乏对区间定义的支持。 资料来源:

只能使用BETWEEN关键字。 保重

顺便说一句,正确的表达是:

     select x from MyEntity x where cast((systimestamp - (1/24/60) * 10) as timestamp) between lastUpdated and systimestamp
这对我很有用:

'10 minutes'::interval
    Query query = entityManager.createQuery("SELECT x FROM MyEntity x WHERE x.lastUpdated < SYSTIMESTAMP - INTERVAL ?1 MINUTE");
    query.setParameter(1, 10);
    list = query.getResultList();
     select x from MyEntity x where cast((systimestamp - (1/24/60) * 10) as timestamp) between lastUpdated and systimestamp
'10 minutes'::interval