现在有这样一个表格,要实现一个查询,例如要查询8月13号的记录,要查询包括这一天的全部记录,我用的离线查询
query.add(Restrictions.ge("end", date)); query.add(Restrictions.le("start",date));
这样做的话,必须是start和end同时有值才可以查询出来,如果end是null就查不出来。
为了解决这个我尝试把end为null的记录的end改为跟start一样,这样也可以查询出来一些记录,但是时间又不对了,因为有的时间并不是2015-08-13 00:00:00这种,而是2015-08-13 15:20:00这种的,请问大神们这个怎么实现查询,昨天折腾了一下午,今天还是没搞定。
解决了,自己写HQL语句就简单多了,刚开始是作死要用离线查询,后来发现还是HQL语句能解决:
and date(o.start) <= date(?) and date(o.end) >= date(?)
就是这个样子的