我在编写命名查询时遇到了拼写错误的表达式问题。
int a = em.createQuery("UPDATE MyProsess d SET d.updateDate = current_date() WHERE d.personId = :personId")
即使我将多个参数传递给上面的查询,它也会产生一些新错误。例如
int a = em.createQuery("UPDATE MyProsess d SET d.updateDate = current_date(), d.status=:stat WHERE d.personId = :personId")
任何人都可以建议如何解决此问题?
答案 0 :(得分:0)
好的我明白了。请用" current_date"替换current_date();删除括号我认为HQL无法用括号识别它。现在在你的实体中你有java.util.Date而current_date将返回java.sql.Date,这需要转换。使用@Temporal(TemporalType.Date)注释标记属性updateDate以确保平滑转换。