Erro ao chamar um atributo de Domain
29/04/2015 15:13
0
Tenho um Domain chamado vinculo que faz referencia a uma tabela em um banco postgres estou tentando chamar um atributo desse objeto que é uma chave estrangeira, faz referencia a pessoa Jurídica. e tenho seguinte erro:
Method threw 'org.hibernate.LazyInitializationException' exception. Cannot evaluate juceg_plugin.JucegPessoa_$$_javassist_498.toString()?

Domain Vinculo:

package plugin

class Vinculo {

Integer id
String juntaComercial;
String condicaoNomeador;
Date entradaSociedade;
Date inicioMandato;
Date saidaSociedade;
Date terminoMandato;
String descricaoCargoDirecao;
String indicadorLiderConsorcio;
Double participacao;
Integer condicao;
         PessoaJuridica vinculante;
         Pessoa pessoaVinculada;


static belongsTo = [vinculante:PessoaJuridica,
pessoaVinculada:Pessoa];

static mapping = {
table name: 'tbl_vinculo', schema: 'sic'
version false
id generator: 'identity', column: 'id'
juntaComercial column: 'codigo_junta'
condicaoNomeador column: 'codicaosequencial'
entradaSociedade column: 'dt_entrada_sociedade', sqlType: 'date'
inicioMandato column: 'dt_inicio_mandato', sqlType: 'date'
saidaSociedade column: 'dt_saida_sociedade', sqlType: 'date'
terminoMandato column: 'dt_termino_mandato', sqlType: 'date'
descricaoCargoDirecao column: 'descricao_cargo_direcao', length: 300;
indicadorLiderConsorcio column: 'lider_consorcio'
participacao column: 'valor_participacao'
condicao column: 'condicao'
vinculante column: 'pessoa_vinculante'
pessoaVinculada column: 'pessoa_vinculada'
}

static constraints = {
juntaComercial (blank:true, nullable:true)
condicaoNomeador (blank:true, nullable:true)
entradaSociedade (blank:true, nullable:true)
inicioMandato (blank:true, nullable:true)
saidaSociedade (blank:true, nullable:true)
terminoMandato (blank:true, nullable:true)
descricaoCargoDirecao (blank:true, nullable:true)
indicadorLiderConsorcio (blank:true, nullable:true)
participacao (blank:true, nullable:true)
condicao (blank:true, nullable:true)
vinculante (blank:true, nullable:true)
pessoaVinculada (blank:true, nullable:true)
}
}

 Chamada do atributo:
Vinculo vinculo? = Vinculo.get(0);
if (vinculo.pessoaVinculada?.cpf) {
 //mais codigo
}

Lembrando que esse vinculo possui uma pessoa jurídica o valor não esta null;
Desde Ja Obrigado.
Tags: LazyInitializationException,hibernate,postgres,domain


0
E ai blz?
Cara, n sei pq vc tem os atributos PessoaJuridica vinculante e Pessoa pessoaVinculada já que há
o mapeamento delas static belongsTo = [vinculante:PessoaJuridica, pessoaVinculada:Pessoa]

Vc consegue pegar a pessoa vinculada e uma nova sessão é criada quando é feito esse request, mas logo depois ela é fechada então é lançada a exceção.
Tenta o seguinte:

Vinculo vinculo? = Vinculo.get(0);
if (!vinculo.isAttached()) {
vinculo.attach()
}


isAttached verifica se está "preso" na sessão, se não ele "prende" novamente.
http://grails.github.io/grails-doc/2.1.0/ref/Domain%20Classes/isAttached.html
30/04/2015 09:48


0
Obrigado Mas não deu certo ele ainda não retorna o o valor do atributo.
30/04/2015 13:30



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