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 ?
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
tgpadua
…? 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
mrodrigues
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.