这个HQL查询有什么问题?

编程入门 行业动态 更新时间:2024-10-25 08:15:32
本文介绍了这个HQL查询有什么问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

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

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

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

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

解决方案

我相信你想用 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:

org.codehaus.groovy.grails.orm.hibernate.exceptions.GrailsQueryException: Invalid query [select max(vso.index) from VirtualSubOrder vso where vso.virtualOrder = ?] for domain class [class com.example.VirtualSubOrder]

解决方案

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

更多推荐

这个HQL查询有什么问题?

本文发布于:2023-10-28 08:36:39,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:有什么   HQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!