我正在尝试将此查询从MySQL复制到HQL: UPDATE用户u,挖掘m SET u.mana = u.mana + COALESCE((SELECT SUM(m.mana_rate)FROM mines m WHERE m.user_id = u.id),0)
只需在HQL中执行此操作: 更新用户你设置u.mana = u.mana +(从Mine m中选择coalesce(sum(m.manaRate),0),其中m.userId = u.id)
给出以下错误: 线程“main”中的异常org.hibernate.hql.ast.QuerySyntaxException:意外AST节点:query [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 =(选择...查询工作正常