Grails没有找到能够从类型[java.lang.Long]转换为[User]类型的转换器

时间:2018-06-07 15:56:28

标签: java mysql grails groovy

我有两个模型类:Book和User。

    class Book {
         Date date
         String time
         User  futsal
         String email

         static constraints = {
         }
    }


class User {
    String fullName
    String futsalName
    String location
    String email
    String password
    String myUpload

    static constraints = {
    }
 }

登录控制器接收电子邮件和密码并将用户置于会话中。

      package fullfinal

      class LoginController {

                def index() { }

                def login(){
                   def email = params.email
                   def password = params.password

                   def user = User.findByEmailAndPassword(email,password);

                   if(user!=null){
                         session["u"] = user
                    }

                   def id = user.id


                   def books = Book.findAllByFutsal(id)

                  render(view:"dashboard" ,model:[u:session.u])
                  }

            def dashboard(){

             }
       }

我正在尝试检索Book中“futsal”的值等于用户ID的所有条目,但我不断收到此错误消息:

找不到能够从[java.lang.Long]类型转换为[fullfinal.User]类型的转换器

我不知道为什么以及应该在这里转换什么,我该怎么做?

1 个答案:

答案 0 :(得分:1)

你应该传递用户对象来代替id。

 def books = Book.findAllByFutsal(user)