Hibernate & JPA - JavaFX

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();
        }
    }
}

Onde vc está vendo que a conexão ainda está aberta?

irmão conseguir solucionar, na vdd a conexão estava sendo fechada eu que tava vendo errado.