LazyInitializationException com cache de segundo nível

2 respostas
gilliard_santos

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!

2 Respostas

T

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

T

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

Criado 28 de setembro de 2006
Ultima resposta 29 de set. de 2006
Respostas 2
Participantes 2