JPQL在@Query注释中检查大于今天的日期

Far*_*ook 7 java spring jpql spring-data spring-boot

我想查看天气validTill日期大于today使用JPQL.我知道我可以通过以下方式实现这一目标.

Query q = em.createQuery("select e from MyEntity e where e.validTill > :today ");
Run Code Online (Sandbox Code Playgroud)

并传递:today参数.但这不是我想要的.我想在Spring中使用@Query注释来做到这一点CrudRepository.

这是我的代码段 CrudRepository

@Query("SELECT e FROM MyEntity e WHERE e.validFrom < TODAY")
Iterable<MyEntity> findAllValid();
Run Code Online (Sandbox Code Playgroud)

我不知道应该把这个地方放到TODAY今天的日期.请帮我.

Far*_*ook 17

我找到了.就像这样..

@Query("SELECT e FROM MyEntity e WHERE e.validFrom < CURRENT_DATE")
Iterable<MyEntity> findAllValid();
Run Code Online (Sandbox Code Playgroud)

CURRENT_DATE - 被评估为当前日期(java.sql.Date实例).

CURRENT_TIME - 被评估为当前时间(java.sql.Time实例).

CURRENT_TIMESTAMP - 被评估为当前时间戳,即日期和时间(java.sql.Timestamp实例).