JPA - Tornar uma instancia persistente

2 respostas
mateusviccari

Boa tarde, trabalho com EntityManager usando o hibernate, e as pesquisas do nosso sistema funcionam abrindo o entitymanager, carregando a lista e fechando o entitymanager.
porem agora surgiu a necessidade de implementar alguns atributos como lazy loading, então a pesquisa funciona normalmente mas depois quando vou carregar o formulario de determinado objeto, da o famoso LazyInitializationException:
[color=red]LazyInitializationException: could not initialize proxy - no Session[/color]

Gostaria de saber qual é o metodo da entitymanager que pode ser usado para recarregar o estado de uma entidade transiente, tornando-a persistente.
Agradeço desde já.

2 Respostas

Hebert_Coelho

Esse post mostra como resolver esse erro: Quatro soluções para LazyInitializationException.

mateusviccari

Legal o artigo …
acabei resolvendo da forma mais simples possivel, parecido com uma solução do seu artigo:
criei uma classe que utiliza reflection pra obter o valor da variavel com a anotação @Id de uma classe qualquer… através desse valor uso o método find da entity manager pra recarregar o objeto, e antes de fechar a conexão, dou um getColecaoDeObjetos no meu objeto, depois disso fecho a conexao pois a lista ja havia sido carregada.

Criado 26 de novembro de 2012
Ultima resposta 26 de nov. de 2012
Respostas 2
Participantes 2