我需要按时间使用HQL过滤选择一些实体.但我需要在没有时间的情况下仅比较日期组件.例如1.1.2011 12.00和1.1.2011 13.20必须相等.
我可以使用哪种操作员?
@Query("FROM Item item " +
"WHERE item.date [equality by date operator] :date " )
List<Item> findByDate(@Param("date") Date date);
Run Code Online (Sandbox Code Playgroud)
ben*_*y23 10
如果您不介意特定于DB的功能,您可以这样做(以Oracle为例).
@Query("FROM Item item WHERE trunc(item.date) = trunc(:date) " )
List<Item> findByDate(@Param("date") Date date);
Run Code Online (Sandbox Code Playgroud)
您可以使用它,因为OracleDialect注册trunc
为StandardSQLFunction
和Oracle TRUNC
删除了日期的时间组件.
Sti*_*ens 10
如果你介意特定于数据库的功能(你应该),那么使用2个日期:
然后查询日期> =从日期和<=到日期
归档时间: |
|
查看次数: |
18436 次 |
最近记录: |