Grails GORM MissingMethodException

Grails GORM MissingMethodException,grails,groovy,gorm,Grails,Groovy,Gorm,groovy新手,并在这方面坚持了相当长的一段时间 这是正在讨论的方法 protected User currentUser() { def user = springSecurityService.currentUser println "In currentUser Method" println "Is userId null?" println user.id == null println user.id

groovy新手,并在这方面坚持了相当长的一段时间

这是正在讨论的方法

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是GORM包中的一个方法

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,它实现了可序列化接口 知道这里发生了什么吗


    多谢各位

    一个可能的解决方案可能是您有一个无效的
    import
    语句
    User
    是一个非常常见的类名,因此您(或您的IDE)可能导入了一个与预期不同的
    User
    类。导入的类可能没有
    get(id)
    方法。

    我也遇到过类似问题,用户导入了吗?作为一个实验,如果将用户.ID分配给变量,打印变量(以确保它存在)会发生什么,然后做用户.GET(变量变量)——尽管取决于用户对象——你可以考虑用户.FIDEBUSERID(变量名)。