GORM标准按绝对值排序

时间:2012-04-21 12:57:50

标签: hibernate grails gorm criteria

我一直在使用GORM标准,我真的很喜欢它们(帮助降低复杂性并使代码可以理解)。

我在尝试按照属性的绝对值对结果进行排序时遇到了一些问题:

Person.createCriteria(){
    order("abs(rating)", "desc")
}

这当然是不行的。

有没有人知道这样做的正确方法是什么? (按GORM中的绝对值排序)

谢谢, 尼古拉斯

1 个答案:

答案 0 :(得分:2)

我无法确定在标准中直接按abs排序的任何内容,但在标准之后进行排序会起作用:

    def personInstanceList = Person.withCriteria {
      //whatever is necessary for your query
    }
    personInstanceList.sort {a, b-> java.lang.Math.abs(b.rating) <=> java.lang.Math.abs(a.rating)}  //b.rating <=> a.rating sorts desc