由于我想在表X
中存储每个数据的日期和时间,我使用
@Temporal(TemporalType.TIMESTAMP)
private Date dateProcess; //java.util.Date
这项工作很棒。但现在我想创建在同一日期返回所有数据的查询。所以我试试
SELECT c from X c where c.dateProcess = : dateProcess
然后我会传递java.util.Date
参数dateProcess
,但返回的结果列表为空。我想必须在time
到位。因此,如果两个日期没有确切的日期和时间,那么它将不相等,这将解释为什么我的返回结果列表为空。那么如何在这种情况下返回日期数据列表(不关心时间)?
答案 0 :(得分:2)
只需使用日期范围,指定开始和结束时间。 > startTime和< ENDTIME
答案 1 :(得分:1)
如果您需要保留时间,但只查询日期,则可以选择:
day(..)
,months(..)
,year(..)
<
和>
作为日期范围(正如James建议的那样)答案 2 :(得分:0)
将temporal type指定为Date
会有帮助,还是会失去精确度?
答案 3 :(得分:0)
目前我喜欢这个
Using HQL to query on a date while ignoring the time on Oracle
我还没试过这个。所以不确定它会起作用。 date_format是发布中的注册函数。
http://www.docjar.com/html/api/org/hibernate/dialect/MySQLDialect.java.html