2
有沒有一種方法可以用grails list()
域方法來加載整個對象圖?渴望加載整個關聯?
現在,我指定
MyObject.list(fetch:[assoc1:'eager'])
,但assoc1
有哪些,還必須即時加載關聯。有沒有簡單的解決方案來加載我的整個對象圖?
有沒有一種方法可以用grails list()
域方法來加載整個對象圖?渴望加載整個關聯?
現在,我指定
MyObject.list(fetch:[assoc1:'eager'])
,但assoc1
有哪些,還必須即時加載關聯。有沒有簡單的解決方案來加載我的整個對象圖?
在Grails文檔中找到它。它並不是完全使用list()方法,但它確實使您不必在域類中指定eager,因此您可以隨意進行提取。我仍然不能100%確定這是否會得到你想要的,但它是我能找到的最接近的東西。
與預先抓取在 部上渴望和延遲抓取我們 查詢討論如何以聲明指定 取,以避免N + 1 SELECT 問題。然而,這也可以使用標準的查詢實現 :
def criteria = Task.createCriteria()
def tasks = criteria.list{
eq "assignee.id", task.assignee.id
join 'assignee'
join 'project'
order 'priority', 'asc'
}
這讓我更接近,至少。 +1贊成有幫助,並且除非有人提供更好的答案,否則您將獲得接受。 – 2011-04-05 16:55:00