通过条件检索日期失败

Retrieving date via Criteria fails

我想通过 Hibernate 通过 Criteria 检索其日期列中具有当前日期的实例。

1) 所以在 MySQL DB 中通过 MySQL_Workbench 我插入了一个在当前日期 '2015-07-25'.

写入的实例

2) 我的 java 代码如下所示:

Date date = new Date();

 factory = new AnnotationConfiguration().configure().buildSessionFactory();
     Session session = factory.openSession();
     session.beginTransaction();

    Criteria cr = session.createCriteria(Logger.class);
     //the following date-like cr. fails
     cr.add(Restrictions.eq("RunDate",date));
     //this cr. runs fine alone retreiving the requested instances
     cr.add(Restrictions.like("Name", "John"));
     //The following work fine
     cr.setProjection(Projections.sum("Contacts"));
     long resultCount = (long)cr.uniqueResult();
     System.out.println(resultCount);
     ...

当 运行 日期标准时我有一个空指针 exception.I 也尝试了 cr.like,cr.ge ...相同的结果。

您的数据库中有什么值? 如果你的数据库中的日期也有时间值,而你只想与当天进行比较,你应该基本上执行以下操作:

WHERE RunDate >= '2015-07-25 00:00:00' AND RunDate <= '2015-07-25 23:59:59'

仅在等同于标准的情况下才如此API

问候