我正在运行 grails 1.3.6,我有这段代码:
String hql = '''
UPDATE
ApiResponse a
SET
a.lockId = :lockId
WHERE
a.lockId = 0
ORDER BY
a.dateAdded asc
LIMIT 5
'''
ApiResponse.executeUpdate(hql, [lockId : workerId])
似乎这段代码更新了数据库中的所有行,而不是最旧的 5 个条目。这是否意味着 LIMIT 在 HQL 中不起作用?请帮助我如何在 GORM 或 HQL 中实现相同的 SQL 逻辑。基本上,我需要使用 LIMIT 进行批量更新。
最佳答案
我做什么(grails 1.3.7):
ExAus.executeQuery( "select distinct <field> from <controller>", [max: 20, offset: 0] )
关于grails - 如何使 LIMIT 在 Grails HQL executeUpdate() 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4884931/