Erro: object references an unsaved transient instance
08/06/2010 00:00
0
Olá pessoal, estou com esse erro e não sei o que faço.
Exception Message: object references an unsaved transient instance - save the transient instance before flushing: org.school.Student 


Abaixo as classes:

class Student {

String description;

static hasMany = [categories:Category, task: Task]

static constraints = {
}

static mapping = {
table 'SC_STUDENT'
version true
}
}




class Task {

static belongsTo = [student: Student]

// Student student
Student helper
TypeTask typeTask
Scene scene
Note note
Local local
String reference;
Date executeDate;
Boolean executed;

static constraints = {
// student(unique: true)
helper(nullable: true)
executed(nullable: true)
scene(nullable: true)
note(nullable: true)
}

static mapping = {
table 'SC_TASK'
version true
student eager: true
}
}
Tags: Grails


0
Esse erro é do hibernate e ele ta reclamando que a instacia do objeto que vc quer salvar está referenciando um objeto com id null.

pode ser que vc esteja criando student e task associando os dois e tentando salvar student aí ele vai dar erro pq nao foi declarado cascade insert na classe student para o relacionamento com task.

vc pode tentar primeiro salvar student e depois referenciar ele no task e salvar task.
09/06/2010 00:00


0
Na verdade não estou salvando o Student. Eu crio um novo task e salvo ele conforme abaixo.
Não sei o que está errado.

def taskInstance = new Task(params);
taskInstance.student.save();
try{
if (taskInstance.save(flush: false, validate:false)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'task.label', default: 'Designação'), taskInstance.id])}"
redirect(action: "show", id: taskInstance.id)
}
else {
render(view: "create", model: [taskInstance: taskInstance])
}
}catch(Exception ex){
flash.message = ex.getMessage();
// println ex.getMessage();
// redirect(action: "create");
}
09/06/2010 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto