java如何编写查询来比较具有时间间隔的两个时间戳之间的差异
我正试图根据两张邮票之间的一些比较来提取记录。这是我假定的代码,但它不起作用:
@Query("SELECT n FROM table1 n WHERE n.status IN ('FAILED') AND :currentDate- n.updatedDate > n.interval/24*60*60")
List<Entity> findAllSuchEntities(@Param("currentDate") DateTime currentDate);
错误消息是:org。h2。jdbc。JdbcSQLException:未知的数据类型:“?”;SQL语句
相比之下,以下查询可以通过编译:
@Query("SELECT n FROM table1 n WHERE n.status IN ('FAILED') AND :currentDate > n.updatedDate")
List<Entity> findAllSuchEntities(@Param("currentDate") DateTime currentDate);
# 1 楼答案
试试这个:
这也是一个更好的解决方案,因为之前的查询很可能会导致全表扫描