我有我的Grails應用兩個指定數據源(Grails的2.0.3)...Grails的2 - 如何動態調用多個數據源
dataSource_a {
// ...
}
dataSource_b {
// ...
}
我想動態改變什麼數據源的能力我根據某種參數進行訪問。我可以做這樣的事情......
def findPeople(datasource) {
if (datasource == 'a') {
return Person.a.list()
} else if (datasource == 'b') {
return Person.b.list()
}
}
我真的希望能夠做的,雖然是這樣的......
def findPeople(datasource) {
return Person."$datasource".list()
}
不幸的是,我得到一個當我嘗試做這件事時出錯。 「應用查詢轉換髮生致命錯誤:null 1錯誤」。
有關如何完成此任何想法?或者我只是堅持如果/開關塊?
更新:我發現它的工作原理,如果你不注入一個變量到字符串。所以,Person。「a」.list()的作品。雖然沒有幫助我,但卻很有趣。 – jckeyes
如果你確實想要這個變量出於某種原因,它會使用「$ {datasource}」而不是「$ datasource」。 – GreyBeardedGeek
實際上,您可以在沒有{}的情況下在Groovy中進行簡單的變量注入,但是如果我執行「$ {datasource}」,則會得到相同的結果 – jckeyes