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

Rispondi quotando