boa tarde galera.
estou usando spring orm para fazer a persistencia no meu sistema, e estou com esse problema: apesar do filtro configurado, recebo lazyexception ao carregar (acessar, ou tentar pelo menos) uma lista
vamos aos códigos.
quando eu carrego um aluno, com vários horários na sua matricula:
[code] @Override
public Aluno read(Long id) {
Aluno a = getHibernateTemplate().get(Aluno.class, id);
for(CursoAluno ca : a.getMatricula().getCursos())
Hibernate.initialize(ca.getHorarios());
return a;
}[/code]
observem que tive de por um ‘hibernate.initialize()’ nos cursos em que o aluno está matriculado, pois caso contrário, é lazyexception.
o meu web.xml está dessa forma: http://gist.github.com/484994
imagino que devido ao uso de outros filtros, possa haver algum tipo de incompatibilidade. como podem ver, estou usando spring security tambem e prettyfaces
e a minha classe AutoFlushSessionViewFilter, descrita no web.xml como filtro:
[code]package br.com.athus.filters;
import org.hibernate.FlushMode;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.dao.DataAccessResourceFailureException;
import org.springframework.orm.hibernate3.SessionFactoryUtils;
import org.springframework.orm.hibernate3.support.OpenSessionInViewFilter;
public class AutoFlushSessionViewFilter extends OpenSessionInViewFilter {
@Override
protected Session getSession(SessionFactory sessionFactory) throws DataAccessResourceFailureException {
Session session = SessionFactoryUtils.getSession(sessionFactory, true);
session.setFlushMode(FlushMode.AUTO);
return session;
}
}
[/code]
desse modo que eu postei, funciona. o problema é quando tiro o ‘Hibernate.initialize()’ do AlunoDAO, que ele lança a exceção
algo de errado nos meus filtros?
abraços