代码之家  ›  专栏  ›  技术社区  ›  hko19

HQL中不支持Postgres限制?

  •  4
  • hko19  · 技术社区  · 14 年前

    在执行hql以获取前30个item对象的Grails中,使用以下代码时出错:

     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不支持限制。我该怎么做?换句话说,我如何使hql执行Postgres很好支持的本机SQL?

    2 回复  |  直到 13 年前
        1
  •  6
  •   Aaron Saunders    14 年前

    Grails/GORM way using list

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

    def items = Item.executeQuery('SELECT i FROM Item as i', [max: 30, offset: 0]) 
    
        2
  •  3
  •   cherouvim    14 年前
    query.setMaxResults(..)
    

    hibernate API