比较休眠中的日期和时间



我在数据库中有一个定义为DATETIME的列notification_date。

当用户过滤器时,我只得到日期。所以我使用 Java 转换为数据和时间。例如,如果用户搜索日期为"2012-09-26"。最终转换的日期和时间格式将为"2012-09-26 17:34:00"

当我想搜索日期过滤器操作(如等于,小于,大于和日期之间)时,我无法使用休眠条件查询大于和小于操作获得正确的结果。

使用的代码

crit.add(Restrictions.gt("notificationDate",notificationVO.getNotificationDate()));

限制将根据条件而变化

仅比较日期,Hibernate中是否有任何可用的功能?

还有其他想法可以解决此问题吗?

从您的评论中:

如果用户输入 2012-09-26

并且搜索条件小于,我需要所有小于 2012-09-26 的日期

那么限制应该是:

crit.add(Restrictions.lt("notificationDate", notificationVO.getNotificationDate()));

如果用户输入相同的日期,并且搜索条件为"大于",则使用以下限制:

crit.add(Restrictions.gt("notificationDate", notificationVO.getNotificationDate()));
当然,您将获得日期和时间大于 2012-09-26 00:

00:00 的所有条目,当然包括 2012-09-26 日期的所有条目。

相关内容

  • 没有找到相关文章

最新更新