se ela estiver sendo obtida de um pool sim.
abrasssss
se ela estiver sendo obtida de um pool sim.
abrasssss
[quote=renanreismartins]se ela estiver sendo obtida de um pool sim.
abrasssss[/quote]
Deveria ficar assim então , certo ?
public Usuario login(String email, String senha) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Usuario usuario = null;
try {
Query query = session.createQuery("from Usuario where email = :email and senha = :senha");
query.setParameter("email", email);
query.setParameter("senha", senha);
if (query.list().size() > 0) {
usuario = (Usuario) query.list().get(0);
}
} catch (HibernateException he) {
session.getTransaction().rollback();
System.out.println("Exceção em Banco de dados - login:" + he.getCause().getLocalizedMessage());
} finally {
session.close();
}
return usuario;
}
Eu utilizaria esse finally em todos os métodos ?
isso, apenas de commit dentro do try… legal!
sim, teria de utilizar, pois vc está pegando a session e abrindo a transação na mão.
entao tb deve encarregar-se de fechar!
esse problema é bem chato: administrar conexoes e transações.
Uma boa solução é utilizar algo que cuide disso pra vc, como EJB ou entao um containver leve, como spring.
mas é essencial aprender os conceitos antes… vc está no caminho!
abrassss