LazyInitializationException com cache de segundo nível

Pessoal, já uso o hibernate há bastante tempo, mas nunca usei o cache de segundo nivel. Geralmente eu uso minhas paginas (uso jsf) em escopo de request, pois uso o OpenSessionInView (filtro que fecha minhas sessoes sempre apos terminar o response), mas em alguns casos estou precisando usar a pagina no escopo de sessao e com isso estou tendo LazyInitializationException em vários lugares. Eu consigo fazer funcionar se usar o Hibernate.initialize() ou entao lazy=false, mas nao queria ter q fazer isso.
Eu pensei que usando o cache de segundo nivel nao teria esse problema, mas esta acontecendo como se nao tivesse usando ele. Com ele, no momento que eu carrego meu objeto base, o hibernate nao deveria coloca-lo no cache de segundo nivel de forma que quando na minha view eu precisasse de atributos nao carregados de inicio esses fossem buscados no banco usando o objeto base que está no cache?
Alguem já usou o cache de segundo nivel e pode me explicar como usar ele nesses casos de LazyInitializationException?
valeu!

mesmo com o cache de segundo nivel, as regras para objetos de sessao continuam validas, de modo que objetos que “atravessem” requests devem ser recolocados na sessao ou relidos

mesmo com o cache de segundo nivel, as regras para objetos de sessao continuam validas, de modo que objetos que “atravessem” requests devem ser recolocados na sessao ou relidos