这个HQL查询有什么问题?

时间:2012-12-06 16:22:01

标签: hibernate grails groovy hql

我正在Grails应用程序中执行以下HQL查询:

def maxIndex = VirtualSubOrder.find(
    'select max(vso.index) from VirtualSubOrder vso where vso.virtualOrder = ?', 
    [virtualOrder])

VirtualSubOrder类肯定有(整数)index属性和virtualOrder属性。

当我尝试执行上面的查询时,我收到错误:

  

org.codehaus.groovy.grails.orm.hibernate.exceptions.GrailsQueryException:无效查询[从VirtualSubOrder中选择max(vso.index)vso,其中vso.virtualOrder =?]用于域类[class com.example.VirtualSubOrder]

1 个答案:

答案 0 :(得分:4)

我相信你想使用VirtualSubOrder.executeQuery()代替find()find用于返回域实例,executeQuery用于任意HQL。