JPQL 检查大于小于今天@Query 注解中的日期
JPQL Check greater than less than date today in @Query annotation
我想使用 JPQL 检查天气 validTill
日期是否大于 today
。我知道我可以通过关注来实现。
Query q = em.createQuery("select e from MyEntity e where e.validTill > :today ");
并传递 :today
参数。 但这不是我想要的。我想使用 Spring 中 CrudRepository
中的 @Query
注释来做到这一点。
这是我在 CrudRepository
中的代码段
@Query("SELECT e FROM MyEntity e WHERE e.validFrom < TODAY")
Iterable<MyEntity> findAllValid();
我不知道我应该在 TODAY
的地方放什么来得到今天的日期。请帮助我。
我找到了。是这样的..
@Query("SELECT e FROM MyEntity e WHERE e.validFrom < CURRENT_DATE")
Iterable<MyEntity> findAllValid();
CURRENT_DATE
- 评估为当前日期(java.sql.Date 实例)。
CURRENT_TIME
- 评估为当前时间(java.sql.Time 实例)。
CURRENT_TIMESTAMP
- 评估为当前时间戳,即日期和时间
(一个 java.sql.Time 邮票实例)。
我想使用 JPQL 检查天气 validTill
日期是否大于 today
。我知道我可以通过关注来实现。
Query q = em.createQuery("select e from MyEntity e where e.validTill > :today ");
并传递 :today
参数。 但这不是我想要的。我想使用 Spring 中 CrudRepository
中的 @Query
注释来做到这一点。
这是我在 CrudRepository
@Query("SELECT e FROM MyEntity e WHERE e.validFrom < TODAY")
Iterable<MyEntity> findAllValid();
我不知道我应该在 TODAY
的地方放什么来得到今天的日期。请帮助我。
我找到了。是这样的..
@Query("SELECT e FROM MyEntity e WHERE e.validFrom < CURRENT_DATE")
Iterable<MyEntity> findAllValid();
CURRENT_DATE
- 评估为当前日期(java.sql.Date 实例)。
CURRENT_TIME
- 评估为当前时间(java.sql.Time 实例)。
CURRENT_TIMESTAMP
- 评估为当前时间戳,即日期和时间
(一个 java.sql.Time 邮票实例)。