本文介绍了这个HQL查询有什么问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  def maxIndex = VirtualSubOrder.find($ b $)在我的Grails应用程序中执行以下HQL查询: b'从VirtualSubOrder vso中选择max(vso.index),其中vso.virtualOrder =?',
[virtualOrder])



VirtualSubOrder 类肯定有一个(整数)索引属性和一个 virtualOrder 属性。



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


解决方案

我相信你想用 VirtualSubOrder.executeQuery()而不是 find() find 用于返回域实例, executeQuery 用于任意HQL。


I'm executing the following HQL query in my Grails app:

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

The VirtualSubOrder class definitely has an (Integer) index property and a virtualOrder property.

When I try to execute the query above I get the error:

解决方案

I believe you want to use VirtualSubOrder.executeQuery() instead of find(). find is for returning domain instances and executeQuery is for arbitrary HQL.

这篇关于这个HQL查询有什么问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-13 04:36