Problema LazyInicializationException Spring 3.0 e Hibernate

3 respostas
awilaz

Boa noite a todos,

Sei que o caso já é tradicional no forum, mas náo conseguimos resolver a questão.

Tenho um relacionamento com FetchType.LAZY

e no arquivo web.xml já coloquei o trecho abaixo:

<filter> 
  	<filter-name>openSessionInViewFilter</filter-name> 
  	<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> 
  </filter> 
  <filter-mapping> 
  	<filter-name>openSessionInViewFilter</filter-name> 
  	<url-pattern>*.jsf</url-pattern> 
  </filter-mapping>

  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

Não tenho o arquivo application-context.xml de forma que minhas configurações de <bean> do Spring ficam em spring.xml

Mesmo assim recebo a LazyInicializationException

Alguém???

3 Respostas

paulo1911

Olá amigo, o ideal seria vc fazer um join na tabela com hql ou criteria criando um alias.
Em meu projeto, atributos em Lazy sempre trago com Criteria ou HQL com join.

Fica ai a dica.

awilaz

Então,

imagine uma classe Cliente e que cada cliente tenha uma lista de endereços.
Neste cenário quando eu fizer findAll em clientes, no momento de recuperar os endereços eu tenho o LazyInicializationException

Tentei os filtros que o Spring recomenda e nada dá certo…

paulo1911

Então amigo, por isso vc precisa fazer join com hql ou criteria.

No caso vc pode ter um clientesDAO ou clienteRepository com o metodo findAll sobrescrito, e no método vc faz o select com join usando hql ou criteria.

Acredito que seria a melhor forma.

Fica a dica.

Criado 7 de fevereiro de 2012
Ultima resposta 8 de fev. de 2012
Respostas 3
Participantes 2