11
我想做一个从表中选择where date = TODAY,在mysql上这将是where date > CURDATE()
,我如何在JPA命名查询中执行此操作?如何获得JPA命名查询上的CURDATE()/ NOW()?
我想做一个从表中选择where date = TODAY,在mysql上这将是where date > CURDATE()
,我如何在JPA命名查询中执行此操作?如何获得JPA命名查询上的CURDATE()/ NOW()?
这取决于你的JPA提供者。休眠,例如,支持current_date()功能:
from MyEntity where myDateProperty > current_date()
从spec:
4.6.16.3日期时间函数
functions_returning_datetime:= CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP
日期时间函数返回当前日期的 值,时间,以及数据库服务器上的 时间戳。
关于事实'CURRENT_DATE'是一个标准的JPA功能,它应该在所有的JPA提供者和RDBMS相同的方式工作,它会导致错误的Hibernate与SQL Server和应作为'CURRENT_DATE()'代替。所以@ chssply76的答案也是正确的:_“这取决于你的JPA提供者。”_ – naXa 2017-10-09 11:10:51