java - Hibernate Criteria Query 不适用于日期

标签 java mysql hibernate

以下代码行在使用 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());

我打印了 currentDatedd 并且在控制台中输出了以下内容以及错误

当前日期:2014-02-17 dd:2​​014-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/

相关文章:

MySQL 错误 #1054

hibernate - 延迟加载在带有 Hibernate 的 JPA 中不起作用

java - 商店设计 - 多个产品类别

java - 数据隐藏的原因?

java - 相当于 MS Access SQL 中的 "For XML"

java - opengl/lwjgl 的透明度问题

mysql - 显示来自 2 个不同表格的数据

php - [mysql php],一周的第一天是星期一还是星期日?

java - 为什么 Hibernate 延迟加载在 Kotlin 中表现不同?

java - JPA GenerationType.AUTO 不考虑具有自动增量的列