Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

LazyInitializationException

Estou encontrando o seguinte erro.

Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: br.com.alura.spring.data.orm.Cargo.funcionario, could not initialize proxy - no Session

Esse ocorre toda vez que tento visualizar os dados de qualquer tabela. Não consigo corrigir o erro, o meu projeto esta exatamente igual ao do curso, se alguem puder me ajudar eu agradeço.

2 respostas
solução!

Plinio, bom dia.

Compartilha as classes do seu model que contem os relacionamentos para poder lhe ajudar melhor.

Normalmente erros de "lazily initialize" é algum mapeamento entre as suas entidades onde o mesmo tem seu carregamento configurado como "preguiçoso" pode ser gerado quando vc coloca o mesmo para ser "fetch = FetchType.LAZY" no mapeamento de suas entidades.

Todo mapeamento que termina como "ToMany", como:

@OneToMany
@ManyToMany

Já são setados como "Lazy" por default.

Para relacionamentos terminados com "ToOne", como:

@OneToOne
@ManyToOne

O carregamento vem por default como "Eager" que é o contrario do Lazy, ele irá carregar tudo relativo a esse relacionamento das suas entidades.

É uma boa pratica colocar relacionamentos terminados com "ToOne" para serem configurados como "fetch = FetchType.LAZY", isso evita carregamento em memoria desnecessario.

Obrigado amigo, sua explicação ja me ajudou a achar o problema e ja resolvi aqui, eu tinha setado para Eager apenas os relacionamentos ManyToMany e esqueci de setar os relacionamentos OneToMany, obrigado novamente pela ajuda, saudações.