2012-02-21 46 views
0

我正在開發一個應用程序,其中有超過130個域類,我使用這些類的數據庫。我有一個叫做請求的類。在這個類中,有超過30個對象,22個對象是對其他類的引用。多域類+可搜索插件+ grails

當我嘗試在域類上執行搜索查詢時,它會拋出methodMissing異常並返回空值。

但我在另一個域上使用了相同的搜索方法進行測試,它的工作非常完美。

那麼這有什麼問題?

+2

如果你有一個叫'request'的類,那很容易讓Grails注入魔法(取決於你執行查詢的位置等)。不過,如果不發佈一些代碼,我不認爲你會得到一個有意義的答案。 – 2012-02-21 20:11:05

+0

代碼就像那個請求{其他類的所有對象,字符串對象,,}我只是把這個域作爲statis可搜索的{all tr​​ue}。當我calllin方法Request.search(param.str)它將通過方法失蹤異常。是否需要所有參考域類都是靜態可搜索的真? – sanghavi7 2012-02-23 04:50:14

+0

錯誤:搜索查詢是:(主題:值,說明:值,症狀:值) groovy.lang.MissingMethodException:沒有方法的簽名:request.Request.search()適用於參數類型:(java.lang。字符串)值:[(主題:值,說明:值,症狀:值)] – sanghavi7 2012-02-23 13:51:56

回答

1

申請Request.search(STR)後,就會產生這樣的例外......

事件查詢:(主題:值,說明:值,症狀:值)

groovy.lang。 MissingMethodException:方法的無簽名:

servicedesk.request.Request.search()是適用於參數類型:(java.lang.String中)

值:[(受試者:價值,描述:值,症狀:Value)]

0

如果你有型請求這樣

def request = Request.get(1) //or however you get your object 

的對象除非搜索是一個靜態方法,你能叫出尋找這樣的:

request.seach(str) 

request.Request.search(str) 

我也同意塞思 - 可能不是最好的主意來打電話給你的班級請求...