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

Grails No converter found capable of converting from type [java.lang.Long] to type [User]

我有两个模型 类: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]

的转换器

我不明白为什么要在这里转换什么以及应该如何转换?

您应该传递用于查找图书的用户对象而不是 id。

 def books = Book.findAllByFutsal(user)