我正在尝试将此查询从 MySQL 复制到 HQL: UPDATE users u, mines m SET u.mana = u.mana + COALESCE((SELECT SUM(m.mana_rate) FROM mines m WHERE m.user_id = u.id) , 0)
只需在 HQL 中执行此操作: update User u set u.mana = u.mana + (select coalesce(sum(m.manaRate), 0) from Mine m where m.userId = u.id)
给出以下错误: 线程“main”中的异常 org.hibernate.hql.ast.QuerySyntaxException:意外的 AST 节点:查询 [update mm.user.User u set u.mana = u.mana + (select coalesce(sum(m. manaRate), 0) 来自 mm.map.buildings.mines.Mine m 其中 m.userId = u.id)]
我是 Hibernate 的新手,所以我真的不知道从哪里开始,以及错误的含义。如果不可能,我可以在 Hibernate 中编写本机 MySQL 查询吗?
编辑:问题似乎出在“u.mana = u.mana +”,因为当我只是做 u.mana = (select... 查询工作得很好