Boa tarde a todos.
Em minha aplicação, sigo sempre a mesma forma de trabalhar com a session do Hibernate: abro e fecho sempre que houver uma solicitação ao banco - não sei se é a melhor forma de se trabalhar como hibernate, visto que é uma aplicação web com um número razoável de acessos.
Enfim… minha dúvida mesmo é que estou criando uma classe que ficará por conta de executar algumas ações no banco (que vão precisar de abrir e fechar transações) sempre que um usuário efetuar o login. Criei a classe como espécie de Serviço, que também será utilizada por outras partes do sistema. Implementei em forma de Singleton e minha dúvida agora é se é melhor separar uma Session do Hibernate somente pra essa classe. Isto é, criar um campo static contendo essa session e utilizá-la em todos os métodos da classe que precisarão ir ao banco. Dessa forma não precisaria abrir e fechar uma session toda vez que a classe fosse chamada. Em contra partida acho que reservando uma session somente pra uma classe poderia limitar o número de acessos ao banco, estou certo?
Enfim, até que ponto vale a pena fazer isso ou mandar ele abrir/fechar uma sessão sempre?
Obrigado a todos.