Hibernate em aplicação WEB (JSF + Richfaces)

Galera, alguem poderia me da uma dica em relação ao uso da Session do hibernate em uma aplicação web no JSF?? Eu devo abrir uma sessao do hibernate por transação ou devo usar uma por sessao do cliente? Qual a melhor estrategia para esse caso?? É uma aplicação sem muito acesso simultaneo, cerca de 200 usuarios operaram nele. É uma aplicação critica, pois trabalha com movimentações financeiras. Ajuda qualquer opnião, pois estou com esse dilema aqui. O fato de usar uma unica sessao por cliente me leva ao problema de cache do hibernate, dados antigos, etc. E uma sessao pro transação me leva a duvida em relação a performace. O que vcs acham? Obrigado.

Uma sessão por usuário não é uma boa idéia.

Já procurou usar transação declarativa?

Em relação ao hibernate eu acredito que você não terá problema de performance usando sessao por transaçao por que sessoes sao lightweight

SessionFactory nao sao lightweight (cuidado)

O maior perigo que eu vejo no seu ambiente é o uso do richfaces.

[quote=bKn]Uma sessão por usuário não é uma boa idéia.

Já procurou usar transação declarativa?[/quote]

O que vem a ser isso amigo?

[quote=idev4web]Em relação ao hibernate eu acredito que você não terá problema de performance usando sessao por transaçao por que sessoes sao lightweight

SessionFactory nao sao lightweight (cuidado)

O maior perigo que eu vejo no seu ambiente é o uso do richfaces.[/quote]

Eu digo performace nao em relação a criação da sessao em si, e sim por relacão a caches, ou outras coisas que armazene.
Porque o maior perigo vem a ser o richfaces?

Por que eu ja usei, e com todas as configurações de um ambiente de produçao eu tive dor de cabeça

Pode ser que outras pessoas tenham tido melhor sorte. nao foi o meu caso.

[quote=idev4web]Por que eu ja usei, e com todas as configurações de um ambiente de produçao eu tive dor de cabeça

Pode ser que outras pessoas tenham tido melhor sorte. nao foi o meu caso.[/quote]

Verdade que o richfaces ainda tem muito a melhorar, mais eu estou usando ele aqui e todos os problemas ate agora consegui remediar, meu grande impase porinquanto esta sendo como utilizar a sessao do hibernate.

[quote=mizael86]
O que vem a ser isso amigo?[/quote]
Esquece isso que falei. Este artigo aqui pode te ajudar: https://www.hibernate.org/42.html

amigo como a app é de pouco acesso implementaria um “filtro”, que abriria e fecharia a sessao a cada request. Esse fecharia nao necessariamente seria de fechar mesmo, mas devolver ao pool, considere essa alternativa também. Para se sentir mais seguro utilize testes de stress usando o jmeter por exemplo para medir se a solucao adotada foi suficiente

abrassss