Hibernate:从其他表更新为sum

时间:2009-04-15 14:37:41

标签: sql mysql hibernate hql

我正在尝试将此查询从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 =(选择...查询工作正常

1 个答案:

答案 0 :(得分:1)

你可以在hibernate中编写本机查询,更多关于here。确定你的查询有什么问题。