Hibernate fetch=lazy

Oi pessoal,

Tenho uma classe Usuário com três List mapeadas no BD. Já descobri que não posso fazer fetch=eager em mais de uma List (ainda falta descobrir porque). Mas se deixo o fetch=lazy, quando vou usar as coleções para exibir uma página, tenho uma exceção dizendo que a sessão não está mais disponível. Intuitivamente, simplesmente comentei o “session.close()” do meu DAO e “resolvi” o problema. Em algum momento é claro que tenho que fechar a session, mas quando fazer isso?

Em geral, como se costuma fazer para lidar com multiplas lists mapeadas no banco? Quando fechar a sessão?

Troque de List para Set.

Leituras que poderão te ajudar:
Quatro soluções para LazyInitializationException.


http://www.jroller.com/eyallupu/entry/hibernate_exception_simultaneously_fetch_multiple