java - JPQL 检查大于小于今天@Query 注解中的日期

标签 java spring spring-boot spring-data jpql

我想使用 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.Timestamp 实例)。

关于java - JPQL 检查大于小于今天@Query 注解中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29418884/

相关文章:

java - 如何为实体内的对象中的参数生成自定义查询

java - RavenDB 4 中的 QueryDSL

java - 如何通过基于 Java 的配置在 Hibernate 中的查询上使用分页

java - Java 对象中的 JSON 值

Spring初始化在项目外完成

java - SOAP : How to make generic method that provides response to all operations of WSDL dynamically

java - 用@Configuration 和@Controller 注释了一个类。在重构方面需要帮助

spring - 从 HttpServletResponse 返回 HAL json

java - IKVM.NET 对象序列化与 ObjectOutputStream 的区别

spring - Nginx 静态服务来自 spring boot war