【问题标题】:How to count in Grails/Hibernate: Message.countBy如何在 Grails/Hibernate 中计数:Message.countBy
【发布时间】:2009-01-21 20:12:54
【问题描述】:

我如何计算正文长度在 0 到 25 个字符之间的消息数量?

Message.countBy('from Message m where m.body.length <= 25')

不幸的是,countBy 不带字符串参数。

【问题讨论】:

  • 现在我只是按照穷人的方法将它们加载到地图中并执行一个 for 循环!
  • 感谢您的回答!我不知道如何“关闭”这条消息
  • 好吧,如果答案有效,那么您可以单击答案旁边的复选标记以接受它。如果没有,那么您可以等待更好的答案或评论为什么没有。

标签: sql grails groovy hql


【解决方案1】:

查看动态方法参考,您可能会做的最好的事情是使用executeQuery 而不是count*

Message.executeQuery('select count(m) from Message m where SIZE(m.body) < 25')

编辑:这里有几个链接可能有助于编写/执行查询:

【讨论】:

  • 谢谢!你不能做我发现的 m.body.length。你必须做 SIZE(m.body) 但非常接近
  • 我会改的。我不确定确切的 HQL,我刚刚复制了您使用的内容,但使用了不同的 GORM 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
  • 2020-12-25
  • 2013-06-22
  • 2017-07-28
  • 2012-09-25
相关资源
最近更新 更多