0

我正在尝试在按多列排序的grails中执行查询,但这似乎不适用于SQL Server数据库(适用于 Oracle)。

def criteria = DomainObject.createCriteria()
results = criteria.list() {

    or {
        eq("field", valueA)
        eq("field", valueB)
    }

    order("field", "asc")
    order("lastUpdated", "desc")
}

我试图将排序放在“和”子句中。

更新:看来我的问题不是由于多列排序失败,而是排序时 Oracle 和 SQL Server 表示 NULL 值的方式。“asc”NULLS 在 SQL Server 上首先出现,但在 Oracle 上最后出现。

我想我需要对返回的 grails 列表进行一些后期处理(排序),但如果有人有更好的想法,将不胜感激。

任何帮助表示赞赏。

谢谢

4

1 回答 1

0

我采用了使用多个表的单独方法,因此 NULL 值不会引起任何问题,因为似乎没有任何简单的解决方案。

然而,Hibernate 问题 465(上面链接)现在似乎已经修复:http: //in.relation.to/Bloggers/HibernateORM420CR1Released

于 2013-02-11T16:12:47.903 回答