Ajuda com HibernateUtil

Olá, pessoal!

Estou com dificuldade em relação a minha classe HibernateUtil. Quando um usuário efetuar logoff na aplicação, a sessionFactory não deveria ser fechada? Tentei fechar chamando o método close() da SessionFactory, porém ao tentar logar novamente é exibido um erro de “cannot open connection”.

Meu HibernateUtil está assim:

public class HibernateUtil {
    
    private static SessionFactory sessionFactory;

    static {
        try {
            sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
        } catch (Throwable ex) {
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }

    public static SessionFactory getSessionFactory() {        
        if (sessionFactory == null) {
            try {
                sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
            } catch (Throwable ex) {
                System.err.println("Initial SessionFactory creation failed." + ex);
                throw new ExceptionInInitializerError(ex);
            }
        }
        return sessionFactory;
    }
}

Apaguei o método que fecha a SessionFactory por que provavelmente não basta chamar o método close(), como eu havia dito anteriormente.
Como posso fazer?
Obrigado!