gpt4 book ai didi

hibernate - HQL 不支持 Postgres 中的 LIMIT?

转载 作者:行者123 更新时间:2023-12-04 23:09:27 24 4
gpt4 key购买 nike

我在 Grails 中使用以下代码执行 HQL 以获取前 30 个 Item 对象时出错:

 def items = Item.executeQuery('SELECT i FROM Item as i LIMIT 30 OFFSET 0')

我的后端数据库是 Postgres。但是,我得到了:
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: LIMIT near line 1, column ...

显然,该错误表明 HQL 不支持 LIMIT。我如何使它工作?换句话说,如何让 HQL 执行 Postgres 支持的原生 SQL?

最佳答案

你可以这样做 Grails/GORM way using list

def items = Item.list(offset:0, max:30)

由于您使用的是 HQL,因此我根据下面的评论编辑了我的答案;两种方法都行
def items = Item.executeQuery('SELECT i FROM Item as i', [max: 30, offset: 0]) 

关于hibernate - HQL 不支持 Postgres 中的 LIMIT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4094610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com