私はこれについてたくさんの質問を読みましたが、誰もそれを機能させていないようです。
私はgrailsを使用しており、主キーとしてidを持たないクラスを作成しています。
「usuarionotfoundwithidnull」というメッセージが表示されます。これは私のドメインクラスのコードです:
class Usuario implements Serializable{
String nombre
String celular
String telefono
String apellido
String password
String nick
static mapping = {
table 'Usuarios'
version false
id composite: ['nick']
}
}
私も通常の方法を試しました:
static mapping = {
table 'Usuarios'
version false
id name: 'nick'
}
実際には、自然キーとすべてを使用してテーブルを希望どおりにマップし、新しいusuariosを挿入しますが、GUIはオブジェクトを取得できず、「usuario not foundwithidnull」というエラーが表示されます。
show(Long id)メソッドを変更しようとしましたが、どちらも役に立ちません。これは、コントローラーからのshowメソッドです。
def show(String nick) {
def usuarioInstance = Usuario.get(nick)
if (!usuarioInstance) {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'usuario.label', default: 'Usuario'), nick])
redirect(action: "list")
return
}
[usuarioInstance: usuarioInstance]
}