2013-01-10 69 views
0

我試圖在Grails的執行查詢,通過多列訂單,但是這似乎沒有責令其工作對一個SQL服務器數據庫(對Oracle很好)。的Grails:如何通過Grails中查詢多列使用SQL Server

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

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

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

我試圖把這個順序放在'and'子句中。

更新:這似乎是我的問題不是由於多列順序的失敗,而是由訂購時由Oracle和SQL Server表示的NULL值的方式。使用「asc」NULLS首先在SQL Server上,但最後在Oracle上。

我想我需要在返回的grails列表上做一些後處理(排序),但如果有人有更好的想法,將不勝感激。

任何幫助表示讚賞。

感謝

+0

它是如何「似乎沒有工作...」? –

+0

好的@John!這是一個討論這種行爲的Hibernate JIRA問題:https://hibernate.onjira.com/browse/HHH-465。也許'order(「field」,「acn nulls last」)'會起作用嗎? –

+0

感謝@Tomasz的迴應,不幸的是,這並沒有幫助。看着鏈接hiernate jira我不認爲有一個簡單的標準建造者沒有調整這樣做的方式。 –

回答