Seguinte: estou utilizando lazy loading, mas, para manter a sessão aberta até terminar o carregamento de todos os objetos, meu código está absolutamente macarrônico, e sai um cheiro ruim dele quando bate sol
Estou trabalhando no ambiente web, e estou com dificuldade para pensar numa solução decente, considerando que a primeira vez que eu utilizo as coleções (portanto, o momento em que elas vêm do banco) é na própria página. Por exemplo:
Esse eh um dos motivos que nasceu o VRaptor, os pontos de interceptacao que um interceptor tem eh beforeChain, afterChain, e afterViewRendering. soh fecho o session no afterViewRendering
nao sei como fazer isso de maneira bonita com WW. smota? cv?
ricardolecheta
“Paulo Silveira”:
Esse eh um dos motivos que nasceu o VRaptor, os pontos de interceptacao que um interceptor tem eh beforeChain, afterChain, e afterViewRendering. soh fecho o session no afterViewRendering
nao sei como fazer isso de maneira bonita com WW. smota? cv?
Na demo de Hibernate WebWork no site do hibernate mostra um interceptor para fazer isso. Vc pode usar o lazy loading do hibernate sem problemas. Inclusive no código fonte tem um comentário assim:
// Note that all the cleanup is done
// after the view is rendered, so we
// have an open session in the view
Eduardo_Bregaida
Aonde posso pegar um tutorial legal de Hibernate e VRaptor?
Paulo_Silveira
O link que o lecheta ta falando eh esse: http://wiki.opensymphony.com/display/WW/Chaining+Interceptor
Entao parece que o interception point do WW eh depois do render do view mesmo, entao ta ok. Eh soh criar um interceptor e abrir antes do invoke, fechar depois do invoke.