我试图在jpql select(spring jpa hibernate)中使用CURRENT_DATE
1变量,如下所示:
@Query("select f from FutureEventEntity f where f.executionTime > CURRENT_DATE")
List<FutureEventEntity> findFutureEvents();
这里也提到2和3 不幸的是它不起作用。无论何时,它总能找到所有实体。但是当我从java给他时间时,它运行正常:
@Query("select f from FutureEventEntity f where f.executionTime > :now")
List<FutureEventEntity> findFutureEvents(@Param("now") Date date);
default List<FutureEventEntity> findFutureEvents(){
return this.findFutureEvents(new Date());
}
我做错了什么?这可能是错误的方式,以便在jpql中使用当前日期和时间而不将其作为参数?
(当然,我的小default
方法可以解决这个问题,但我很好奇有什么更好的方法可以改善自己。)
还有一些数据库信息:
我正在使用MySQL数据库进行测试。当我在控制台内直接使用命令SELECT NOW(),CURDATE(),CURTIME()
时,它会返回正确的数据。