一個一到多的財產屬性查詢我有以下的例子類之間的一個一對多的關係:標準在GORM
Class Home {
static hasMany = [loans: Loan]
int numStories
}
Class Loan {
static belongsTo = [Bank]
Home home
int yearIssued
}
Class Bank {
SortedSet loans
static hasMany = [loans: Loan]
boolean active
}
我想寫一個名爲查詢獲得2007年在兩個故事家園中發行的貸款的所有活躍銀行對象。在銀行namedQueries我想:
static namedQueries = {
myNamedQuery { yearIssued, numStories ->
eq 'active', true
loans {
gt 'yearIssued', yearIssued
home {
eq 'numStories', numStories
}
}
}
}
如果我刪除了「家{EQ ...}」部分的上方,查詢工作正常,它只是不限制到2層。若這樣執行,我得到一個錯誤groovy.lang.MissingMethodException像:
No signature of method: package.stuff.Home.call() is applicable for argument types
(package.stuff.Bank$__clinit__closure3_closure10_closure20_closure21)
values: [pack[email protected]746231ed];
Possible solutions: wait(), last(), save(), any(), getAll(), wait(long)"
我怎麼會限制銀行還給那些對與2層房屋貸款?
謝謝!我在單元測試中運行所有這些,顯然在我的測試設置中,createAlias失敗。我以「真實」的設置測試了您的解決方案,確實有效。有趣的部分是,使用直接關聯的原始方式也在「真實」環境中工作而沒有錯誤。再次感謝。 –