E' una classe che di solito ho sviluppato sempre io e l'ho sempre posizionata dove si trovano i pojo e gli xml di mapping.

La mia ad esempio fa così:
Codice PHP:
import java.io.File;
import org.hibernate.SessionFactory
import org.hibernate.cfg.Configuration
import org.hibernate.classic.Session

public class 
HibernateUtil {
    private static 
SessionFactory sessionFactory;

    public static 
Configuration getInitializedConfiguration() {
        return new 
Configuration().configure();
    }

    static {
        try{
            
sessionFactory = new Configuration().configure().buildSessionFactory();
        }
        catch (
Throwable ex){
            
Logger.getLogger(HibernateUtil.class).warn("Initial SessionFactory creation failed.",new ExceptionInInitializerError(ex));
        }
    }
    
    public static 
SessionFactory getSessionFactory(){
        return 
sessionFactory;
    }

    public static 
Session getSession(){
        if (
sessionFactory == null){
            
Configuration config HibernateUtil.getInitializedConfiguration();
            
sessionFactory config.buildSessionFactory();
        }
        
Session hibernateSession sessionFactory.getCurrentSession();
        return 
hibernateSession;
    }

    public static 
void closeSession(){
        
HibernateUtil.getSession().close();
    }

    public static 
void flushSession(){
        
HibernateUtil.getSession().flush();
    }

    public static 
Session beginTransaction(){
        
Session hibernateSession;
        
hibernateSession HibernateUtil.getSession();
        
hibernateSession.beginTransaction();
        return 
hibernateSession;
    }

    public static 
void commitTransaction() {
        
HibernateUtil.getSession().getTransaction().commit();
    }

    public static 
void rollbackTransaction() {
        
HibernateUtil.getSession().getTransaction().rollback();
    }