Hibernate Session Factory

6 respostas
bebad

Boa noite amigos,
Gostaria de saber se existe alguma maneira de eu não precisar criar sempre uma sessionFactory a cada vez que minha classe morre, ou seja acaba o debug.

Alguma maneira de deixar ela em um pool, e eu poder obter ela atravez de alguma instancia, entendeu ?

Obrigado.

6 Respostas

T

Amigo, SessionFactory como o próprio nome diz é uma fábrica,
você só cria ela uma vez, ou pelo menos deveria (não maioria dos casos).
Você deve estar confundindo com a interface Session, não ?

bebad

#cijit-web# INFO [SessionFactoryImpl] building session factory 08:55:47,944 [main]
#cijit-web# INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured 08:56:12,026 [main]
Hibernate:
select
(…)
from
CIJITADM.OABG065T_PG_EDI edivo0_
where
(…)

T

…? Seja mais descritivo somente esse output do log4j não ajuda muito

Thiagoprudente

Tem como você instanciá-la através de um ServletContextListener, crie uma classe usando essa interface javax.servlet.ServletContextListener; e lá você instancia o seu hibernateUtil que serve para criar a conexao.
Bom, é assim que eu faço!

Jair_Rillo_Junior

A SessionFactory deve ser criada apenas 1 vez… Em aplicações web, geralmente isso ocorre quando o AS é iniciado.

O Session sim, ele deve ser iniciado antes de uma operação do banco e fechado após o commit ou rollback

O jeito mais simples (mas não recomendado em aplicações de médio/grande porte) é deixar o SessionFactory como STATIC, ou seja, assim só irã existir uma instancia para ele em toda aplicação.

Porém hoje em dia, o melhor jeito de deixar ele “vivo” e injetar ele dentro dos DAOs é através de IoC ou DI. O Spring framework faz esse papel para você.

M

alguém ai poderia dar um exemplo de como fazer isso usando Spring? sou novo em aplicações web e num entendo quase nada de spring. grato.

Criado 8 de novembro de 2007
Ultima resposta 12 de ago. de 2008
Respostas 6
Participantes 5