Ola pessoal.
Estou desenvolvendo um projeto com Spring e Hibernate e JSF, estou tendo dificuldade pra controlar a sessão do hibernate.
O Spring gerencia as sessoes de forma automatizada, ai que esta o problema, quando utilizo o metodo load do hibernate em um Bean que contem um lazy, ocorre uma exceção pois a conexão é fechada antes do hibernate fazer a consulta do lazy.
Qual exceção está sendo lançada? LazyInitializationException (acho que é isto)?
Tente adicionar ao seu arquivo web.xml o filtro OpenSessionInView que vem no Spring Framework. Isto deve resolver seu problema.
sunshine
só por curiosidade:
você está usando annotations em ambos?
vanzella
Ola RicardoLuis, a exceção é LazyInitializationException mesmo, vou procurar por OpenSessionInView, estou conhecendo esses Frameworks agora, é tudo novo pra mim, obrigado pela dica.
Sunshine estou usando annotation somente pro Hibernate, não sei se tem como usar pro Spring.
R
RicardoLuis
Este filtro (OpenSessionInViewFilter) abre uma sessão do hibernate durante a construção da interface gráfica.
De uma pesquisada sobre ele aqui no fórum mesmo e na página do Spring.
sunshine
vanzella
creio q tem como usar annotations com o Spring.
To pensando em usar.
Sim sunshine , é possível utilizar o Spring Framework com annotations, basta você baixar o spring-annotations e adicioná-lo ao seu classpath.
Lembrando que o spring-annotations não é um projeto oficial do Spring e sim um projeto independente, chefiado pelo Urubatan, que faz parte deste fórum.
Sim sunshine , é possível utilizar o Spring Framework com annotations, basta você baixar o spring-annotations e adicioná-lo ao seu classpath.
Lembrando que o spring-annotations não é um projeto oficial do Spring e sim um projeto independente, chefiado pelo Urubatan, que faz parte deste fórum.
Estou trabalhando com o Spring e Hibernate com JSF, mas mesmo colocando o OpenSessionInViewFilter no web.xml ele dá este LazyinitializationException.
Eu sei q eu tenho q manter a sessao do hibernate aberta para buscar os dados de um relacionamento, mas quem gerencia esta sessao eh o Spring e como não sei onde q posso mante-la aberta nestes casos, estou pedindo a ajuda de vcs, pois nao parece ser algo sobrenatural, mas ainda sim um pouco novo pra mim.
Caso alguem tenha alguma outra sugestao, como nao conheço direito o Spring, estou tentando descobrir a solução.
Obrigado a todos pela ajuda.
O
odairindena
tb estou com este problema sem solução …
antoniopopete
Vocês conseguiram resolver esse problema?
Mesmo adicionando o filter(OpenSessionInViewFilter) não consegui resolver.
thiago.limma
Alguém encontrou resposta para esse problema de Lazy??
Estou com o mesmo problema aqui
sjoaquim
Pessoal, estava com os mesmos problemas quanto a isso utilizando Struts, mas consegui resolver.
É o seguinte: eu estava colocando TUDO num mesmo XML de contexto do spring (dataSource, sessionFactory, DAOs e Actions do Struts). Dei uma olhada nos logs e uma debugada no código do Spring e vi que ele carregava duas vezes o mesmo contexto: primeiro, através do listener do web.xml e depois através do plug-in do Struts. E isso provavelmente causava um conflito, já que haviam dois sessionFactories, duas Sessions, etc.
Quando separei as Actions do Struts num XML separado, que é carregado pelo plug-in, o OpenSessionInViewFilter passou a funcionar exatamente como eu esperava, e consegui utilizar Lazy-Loading nos JSPs.
Espero que isso ajude!!
E
edsonregis
Boa noite pessoal,
sou iniciante no hibernate e spring e estou com este mesmo bendito problema. Já adicionei no WEB.XML o arquivo de conf do spring, o filter e o listener de contextLoad do spring: