Quatro soluções para LazyInitializationException

Olá, tudo bem?

No post de hoje veremos como tratar o famoso erro LazyInitializationException. Vamos ver 4 modos de evitar que esse erro aconteça, a vantagem e a desvantagem de cada abordagem e ao final, veremos comentários sobre o modo de como o EclipseLink trata essa situação.

Para simular e tratar o LazyInitializationException iremos utilizar um projeto EJB 3 com JSF 2.

O que veremos no post de hoje:

  • Página 3: Entenda o problema, por que o erro LazyInitializationException acontece?
  • Página 4: Carregar coleção por anotação
  • Página 5: Carregar coleção por Open Session in View (Transaction View)
  • Página 6: Carregar coleção por Stateful EJB com PersistenceContextType.EXTENDED
  • Página 7: Carregar coleção por Join Query
  • Página 8: Considerações sobre EclipseLink

Ao final do post você irá encontrar o código para download.

Atenção: Para esse post foi utilizado um código bem simples, e que não utiliza padrões de projeto. O foco desse post é destacar as soluções para o LazyInitializationException.

Apesar do exemplo que é utilizado nesse post ter sido criado com JSF + EJB, as soluções aqui se aplicam para o tratamento em qualquer ferramenta web. Tanto JSF, JSP com Servlets, JSP com Struts, JSP com VRaptor, etc.

O único exemplo que não é aplicável para a tecnologia JSE (em geral definido como Desktop) é a solução do EJB.

42 Thoughts on “Quatro soluções para LazyInitializationException

  1. Salvou meu dia!

    Parabéns pelo artigo!

Comment navigation

 

Leave a Reply

Post Navigation