带有setTimestamp的HibernateException但与setParameter一起使用

Rai*_*dok 6 java hibernate

这是代码的最小版本,花了我很多时间来弄清楚它为什么不起作用:

Query q = session.createQuery(queryString);
q.setTimestamp(0, new java.util.Date());
Run Code Online (Sandbox Code Playgroud)

 

错误是:

Unset positional parameter at position: 0
Run Code Online (Sandbox Code Playgroud)

 

当我替换setTimestamp()setParameter():

Query q = session.createQuery(queryString);
q.setParameter(0, new java.util.Date());
Run Code Online (Sandbox Code Playgroud)

 

它有效,但我无法弄清楚为什么.我正在使用hibernate 3.2.1.

编辑:其他建议的帖子在哪里?这就是它!

Rai*_*dok 1

之前有一个答案建议使用java.sql.Timestamp而不是java.util.Date. 经过这个小小的修改,该setTimestamp方法就可以按预期工作。