對於Grails項目,我需要它通過關聯實體的字段進行排序。像獲取由作者排序項命名:createAlias在分離標準(GORM)
org.hibernate.QueryException: could not resolve property: author.name of: Entry
這是與Hibernate常見的問題,通常是通過引入一個別名author
,像做:
def crteria = new DetachedCriteria(Entry)
criteria.list {
order('author.name', 'asc')
}
當前的例子將失敗
criteria.createAlias('author')
criteria.addOrder(Order.asc('author.name'))
但是Grails gorm.DetachedCriteria
沒有這個方法的問題,拋出NoSuchMethodException
。我不想使用普通的hibernate.DetachedCritera
,因爲需要支持使用Groovy標準編寫的舊代碼。
我如何添加這樣的別名?或者如何應用這種無類型的?
也許有一個是創建一個hibernate.DetachedCriteria
,添加別名,然後將其轉換爲gorm.DetachedCriteria
?
-
PS什麼的瘋狂,常規order('author.name', 'asc')
工作正常進行集成測試。僅在真實應用程序grails run-app
上失敗。
你已經嘗試使用'作家'作爲協會? 'criteria.list {author {order('name','asc')}}' – dmahapatro
是的,我試過了。在這種情況下忽略它 –