update query
我看到在 Hibernate 中有两种创建方法。首先,您可以使用我们拥有 hql 的标准方法,例如:
Query q = session.createQuery("update" + LogsBean.class.getName() + " LogsBean " + "set LogsBean.jobId= :jobId where LogsBean.jobId= :oldValue ");
q.setLong("jobId", jobId);
q.setLong("oldValue", 0);
return q.executeUpdate();
或者我们可以去跑
getHibernateTemplate.saveorupdate(jobId);
现在我java.lang.IllegalArgumentException: node to traverse cannot be null!
开始运行第一个查询并且我不确定 hwo 是否在getHibernateTemplate
示例中提供条件,我想jobIds
在值匹配 0 的日志表中更新,所以我想运行类似的东西
Update logs set jobId = 23 where jobId = 0
以上是我试图运行的简单sql
查询,但我想通过休眠运行它,尝试了几种方法但它不起作用,有什么建议吗?
更新:
正如 Jeff 所指出的,问题在更新后没有空间,因此问题得到了解决,但值仍然没有更新,我已经为 hibernate 更新了 show_sql true 并检查可能是问题的原因,将运行由 hibernate 生成的查询再次运行 db 并查看记录是否已更新。