hibernate - 在 GORM 中查询计算字段

标签 hibernate grails groovy hql grails-orm

我正在尝试使用 GORM 查询以下 HQL:

MailMessage.executeQuery("toId, count(toId) from (SELECT  toId, threadId FROM MailMessage as m WHERE receiveStatus = 'u' GROUP BY threadId, toId) as x group by x.toId")

问题是 count(toId)MailMessage 中不存在的计算字段,并且我正在使用子查询。

我收到以下错误:java.lang.IllegalArgumentException:要遍历的节点不能为空! 理想情况下,我想使用通用的executeQuery 它将返回任何类型的数据。有这样的事吗?

最佳答案

我正在回答我自己的问题。做到这一点的唯一方法是执行原始 SQL 而不是使用 HQL。不幸的是,我无法弄清楚如何使用子查询和计算字段执行复杂的查询。

我在这里使用了这个例子:Grails query not using GORM

关于hibernate - 在 GORM 中查询计算字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4577379/

相关文章:

java - 将值列表传递回 Controller

mysql - 如何创建自定义方言并将其添加到 Grails 3 中的 application.yml 文件中?

groovy - 如何用Groovy PostBuild标记Jenkins构建不稳定

java - Hibernate Criteria 按查询分组的行数

hibernate - 如何在 Grails 中进行简单的表连接

maven-2 - 如何使用 Maven 在 IntelliJ 中创建我的第一个 Grails 项目?

grails - Grails 1.0.3升级问题

groovy - 如何从管道 (jenkinsfile) 中使用 Jenkins Copy Artifacts 插件?

java - 从关系数据库中删除实体时出现问题

java - 日期类和 Hibernate