Inserir objetos aninhados.
08/01/2015 12:13
Olá amigos do grails brasil, estou com uma dificuldade no método save do grails,
Tenho os domínios Pessoa, EnderecoPessoa, DocumentoPessoa, e também um controle chamado Regularização, onde este é responsável por receber os objetos preenchidos pelo Formulário.
segue os domínios.
class Pessoa {
static hasMany = [enderecos: EnderecoPessoa]
DocumentoPessoa documento
// Demais atributos.
}
class EnderecoPessoa {
static belongsTo = [pessoas:Pessoa]
// Demais atributos
}
class DocumentoPessoa {
atributos da classe
}
No controle Regularização tenho
def save(Pessoa pessoaInstance, DocumentoPessoa documentoPessoaInstance, EnderecoPessoa enderecoPessoaInstance) {
if(pessoaInstance.hasErrors()){
respond pessoaInstance.errors, view:'create'
print pessoaInstance.errors
return
}
if (enderecoPessoaInstance.hasErrors()) {
respond enderecoPessoaInstance.errors, view:'create'
print enderecoPessoaInstance.errors
return
}
documentoPessoaInstance.save()
pessoaInstance.addToEnderecos(enderecoPessoaInstance)
pessoaInstance.setDocumento(documentoPessoaInstance)
pessoaInstance.save flush: true
request.withFormat {
form {
flash.message = message(code: 'default.updated.message', args: [message(code: 'Regularizacao.label', default: 'Regularizacao'), pessoaInstance.id])
redirect pessoaInstance
}
'*'{ respond pessoaInstance, [status: OK] }
}
}
A dificuldade neste esquema, é que eu consigo inserir a pessoa juntamente com seu endereço, mas não consigo setar o documento.
Alguma luz? Valew galera.
Tags:
Grails, GORM