Grails 的组属性和顺序。它是如何运作的?

发布于 2024-10-20 10:23:44 字数 503 浏览 6 评论 0原文

我有这个域:

class Participation {
   ParticipationStatus status
}
class ParticipationStatus{
   String name
   Date creationDate
}

我创建了一个查询:

Participation.createCriteria().list{
   createAlias("status","statusAlias")
   order "statusAlias.creationDate"
   projections{
     groupProperty "id"    
   }
}

但我收到了一个错误: 引起原因:java.sql.SQLException: ORA-00979: N'est pas une expression GROUP BY

我两天前正在处理这个查询 grrrrr ! ;-)

多谢

I have this domain :

class Participation {
   ParticipationStatus status
}
class ParticipationStatus{
   String name
   Date creationDate
}

I create a query :

Participation.createCriteria().list{
   createAlias("status","statusAlias")
   order "statusAlias.creationDate"
   projections{
     groupProperty "id"    
   }
}

But I received an error :
Caused by: java.sql.SQLException: ORA-00979: N'est pas une expression GROUP BY

I 'm working 2 days ago on this query grrrr ! ;-)

Thanks a lot

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谈情不如逗狗 2024-10-27 10:23:44

您在聚合查询中使用的每个字段(使用 projections 的字段)应该是一个 groupProperty,或者只是一个聚合函数参数(即在 projections 中)代码>无论如何)。
在这个例子中,尝试

Participation.createCriteria().list{
   createAlias("status","statusAlias")
   order "statusAlias.creationDate"
   projections{
     groupProperty "id"    
     groupProperty "statusAlias.creationDate"
   }
}

Every field you use in aggregate queries (the one using projections) should be either a groupProperty, or only an aggregate function argument (that is, in projections anyway).
In this example, try

Participation.createCriteria().list{
   createAlias("status","statusAlias")
   order "statusAlias.creationDate"
   projections{
     groupProperty "id"    
     groupProperty "statusAlias.creationDate"
   }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文