grails - 按特定属性值对 hql 结果进行排序

标签 grails groovy hql

我有一个域,其中包含名为“状态”的属性。 该属性可以包含“A”、“I”、“P”、“Pv”、“R”。

我有以下查询:

def list = Deal.findAll('from Deal as d')

如何对结果进行排序,以便状态为“P”的行始终返回结果集的顶部? (我不在乎它们之后的顺序)。

最佳答案

这会达到你想要的效果吗?通常我会在回答之前进行测试,但我没有一个简单的方法来做到这一点。

def list = Deal.findAll('''from Deal as d order by case d.property when 'P' then 0 else 1 end''')

关于grails - 按特定属性值对 hql 结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13312413/

相关文章:

grails - <g:select>错误中的多个值选择

groovy - IDEA中Groovy中的不良颜色

java - Hibernate对象未映射异常

android - 从 Controller ,Android浏览器流式传输字节,下载失败

java - 来自 C#.Net 的 Groovy 和 Grails

performance - Grails 3 vs 4 性能、启动时间和内存

command-line - 从命令行执行包中的 Groovy 类

groovy - 从字符串闭包

java - 试图获得不同的结果,说字符串不能转换为 blah.Model.Article

java - 在Grails中将listAgg与H2数据库一起使用