比较Hibernate中的日期和时间

时间:2012-09-27 14:22:24

标签: hibernate compare

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

当用户过滤我只得到日期。所以我使用Java转换为数据和时间。对于示例,如果userSearch Date为“ 2012-09-26 ”。最终转换的日期和时间格式为“ 2012-09-26 17:34:00

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

使用的代码

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

限制将根据条件

而改变

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

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

1 个答案:

答案 0 :(得分:1)

来自你的评论:

  

如果用户输入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日期的所有条目。