Problema no Metodo addTo*
10/08/2011 09:35
0
Oi!

Estou tendo dificuldades com o método addTo* que esta apresentando um erro: "java.lang.NullPointerException: Cannot invoke method addToRecados() on null object"

Possuo dias classes e estou tentando relacioná-las. A primeira é minha classe Usuario:

class Usuario {

static hasMany = [ recados : Recado ]

String matricula
String password
Date dataHospedagem

static constraints = {
matricula(size:3..20, unique: true)
password(size: 6..8)
dataHospedagem()

}


}

A Segunda é a de recados:


class Recado {

String problema
Date dataCriacao

static constraints = {
problema(blank: false)
dataCriacao()
}

static belongsTo = [ autor : Usuario ]

}


Quando uso o método abaixo aparece o erro:

def user = new Usuario(userId: 'teste', password: '123456).save()
user.addToRecados(new Recado(problema: "Fora do Ar..."))

Esta dizendo que o metodo addTo não pode ser invocado ou é um objeto nulo.

Por favor aguém poderia me ajudar? Como posso fazer para relacionar a classe Recado com o Usuario.

OBS: Ambas as classes estão no mesmo package.
Tags: addTo, relacionamento


0
Oi Roberta, em qual contexto você está tentando executar este código? Em execução ou em algum teste unitário?

Da uma olhada neste link: http://www.grails.org/doc/latest/ref/Domain%20Classes/addTo.html


0
Em contexto de execução. Li o texto e não consegui fazer com que funcione. Como deveria ser meu código para que ele conseguisse relacionar ambas as classes?
10/08/2011 10:33


0
Em meus testes, se eu colocar no constraint da classe Recado o autor como nullable:true funciona porém dá erro no Hibernate na inserção da classe recado. Fiz um teste de validação em Recado e só passou depois que eu coloquei o autor como nulo:

def recado = new Recado(problema: "Fora do Ar...")

if (recado.validate()) {
user.addToRecados(recado)
println " Validou Recado"

}else
{println "Não validou o Recado"}

Estranho isso. Alguém poderia sugerir um código que funcione o relacionamento das duas classes?
10/08/2011 13:45


2
Roberta

acho que o erro esta na linha: def user = new Usuario(userId: 'teste', password: '123456).save()

Observe que o password não fecha a aspas simples.

11/08/2011 08:18


0
Ivgsilva,

muito obrigada!

Agora funcionou.
11/08/2011 13:10



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