Hibernate e o Stateless Session

Posted . Visible to the public.

Em um dado momento eu havia lido rapidamente o seguinte artigo que tratava de 7 hábitos eficazes dos desenvolvedores Hibernate e JPA Show archive.org snapshot quando buscava informações sobre o Lazy, mas não havia me atentado ao uso do quinto hábito, o uso do Stateless Session, que pode vir a ser de extrema utilidade.

Resumindo o seu uso, ele cria uma sessão onde todas as vantagens da interface de sessão do Hibernate, como a escrita em banco postergada, o primeiro nível de cache, detecção automática de mudanças em objetos, updates agendadas, entre outras, são perdidas. No lugar é dada preferência à execuções diretas no banco de dados assim que uma chamada de código é feita, estando então o código muito mais próximo do banco, mesmo ainda estando trabalhando com objetos. Este comportamento diferenciado pode ser extremamente desejado na hora de tratar o processamento em lote de dados que entram e saem do banco, deixando a carga extra de processamento e análise de objetos pelo hibernate "desligada" nesta sessão, economizando muita memória, uma vez que este processamento adicional neste caso seria indesejado.

Para o uso do Stateless Session algumas chamadas encaminhadas pelo hibernate passam a ser utilizadas de forma diferente, como trocando-se o save pelo insert por exemplo. Mais informações podem ser obtidas na internet, mas alguns dos sites que consegui recuperar do meu histórico dentre os que li brevemente para utilizar o que eu precisei foram:

Bruno Vieira
Last edit
Posted by Bruno Vieira to ZeroGlosa (2012-10-01 12:22)