以下代码行在使用 string
测试时完美运行criteria.add(Restrictions.eq("name", "John"));
然而,当我用Date 测试它时,它返回错误 这是返回错误的代码行
criteria.add(Restrictions.eq(currentDate,dd));
这就是我获取 currentDate 的方式
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
String currentDate=dateFormat.format(cal.getTime());
我打印了 currentDate 和 dd 并且在控制台中输出了以下内容以及错误
当前日期:2014-02-17 dd:2014-02-16
JKInsrException:->无法解析属性:2014-02-17 of: com.java.JKInsr.Contact
最佳答案
Restrictions.eq() 将属性名称作为第一个参数,而不是值或对象。
你应该这样做:
Restrictions.eq("myDate", dd)
确保您的联系人类具有 myDate-Attribute。
关于java - Hibernate Criteria Query 不适用于日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21832738/