0
對於groovy來說是新手,並且在這個問題上停留了相當長的一段時間。Grails GORM MissingMethodException
繼承人問題的方法。
protected User currentUser() {
def user = springSecurityService.currentUser
println "In currentUser Method"
println "Is userId null?"
println user.id == null
println user.id instanceof Long
User.get(user.id)
}
而且User.get是在格姆封裝的方法
D get(Serializable id) {
execute({ Session session ->
session.retrieve(persistentClass, id)
} as SessionCallback)
}
即時得到錯誤
No signature of method: User.get() is applicable for argument types:() values: []
什麼我不明白的是通過println語句我覈實,
- user.id不爲空
- user.id是instanceof Long,它實現了Serializable接口。
任何想法這裏發生了什麼?
謝謝。
我一直都有類似的問題,是用戶導入的? springSecurityService是否正確注入? – marko
作爲一個實驗,如果將user.id分配給變量,打印出變量(只是爲了確保它存在),然後執行User.get(variableName),會發生什麼 - 雖然取決於User對象,但您可能會考慮User.findByUserId(variableName) –