在grails中使用自定义id时出错

在grails中使用自定义id时出错,grails,Grails,我想要一个自定义id,因为默认情况下grails处理id名称。我有这样一个域类: class User { Long id_user String name ... static mapping = { id generator: 'increment', name: "id_user", type: 'Long' } ... } 当我保存用户时,会出现以下错误“无法重定向对象[project.user:(未保存)],它不是域或没有标识符

我想要一个自定义id,因为默认情况下grails处理id名称。我有这样一个域类:

class User {
    Long id_user
    String name
...
    static mapping = {
        id generator: 'increment', name: "id_user", type: 'Long'
    }
...    
}
当我保存用户时,会出现以下错误“
无法重定向对象[project.user:(未保存)],它不是域或没有标识符。在保存操作中使用显式重定向

def save(User user) {
    if (user == null) {
        notFound()
        return
    }

    try {
        userService.save(user)
    } catch (ValidationException e) {
        respond usuario.errors, view:'create'
        return
    }

    request.withFormat {
        form multipartForm {
            flash.message = message(code: 'default.created.message', args: [message(code: 'user.label', default: 'User'), user.id])
            redirect user
        }
        '*' { respond user, [status: CREATED] }
    }
}

为了纠正错误,我尝试将
user.id
user放入save函数中,但它也不起作用。

如果不建立一个测试用例来重现这个错误,它看起来很可疑

redirect user
试图重定向到<代码> /Up/Stuts/< /C> >,正如错误消息所建议的,考虑用

替换这个
redirect(action: 'show', params:[id:user.id_user])
我不太熟悉自定义
id
s,所以我不确定所有的细微差别,但是您使用的重定向快捷方式可能没有正确地尊重它们