Galera tenho uma dúvida criei uma classe clientedao para manipular os dados do cliente usando o hibernate, mais tem um problema toda vez que acesso o banco de dados ele faz as alterações mas ele não está finalizando a conexão com o banco de dados e o banco de dados fica aberto quando ele termina de fazer as alterações.
Abaixo está a minha classe, se puderem me ajudar, ou até mesmo mostrar outra classe que faça a mesma coisa q eu quero, só que mais eficiente, irei ficar muito grato, obrigado a todos!
package DAO;
import ConnectionFactory.NewHibernateUtil;
import org.hibernate.SessionFactory;
import Model.Cliente;
import org.hibernate.Transaction;
import org.hibernate.Session;
public class ClienteDAO {
private SessionFactory factory = new NewHibernateUtil().getConnection();
private Session session;
private Transaction tx;
public ClienteDAO(){
session = factory.openSession();
tx = session.beginTransaction();
}
public boolean add(Cliente c){
try{
session.save(c);
tx.commit();
return true;
}catch(Exception e){
return false;
}finally{
session.close();
factory.close();
}
}
public boolean update(Cliente c){
try{
session.update(c);
tx.commit();
return true;
}catch(Exception e){
return false;
}finally{
session.close();
factory.close();
}
}
public boolean delete(Cliente c){
try{
session.delete(c);
tx.commit();
return true;
}catch(Exception e){
return false;
}finally{
session.close();
factory.close();
}
}
}