package pl.zgora.uz.wmie.fe.sps.business.abstracts;
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import pl.zgora.uz.wmie.fe.sps.business.util.HibernateUtil;
/**
* Abstrakcyjna fabryka.
*
* @author Miro007
*/
public abstract class AbstractFactory {
@Resource(mappedName = "java:/hibernate/SessionFactory")
protected SessionFactory sessionFactory;
public AbstractFactory() {
if (sessionFactory == null) {
sessionFactory = HibernateUtil.getSessionFactory();
}
}
/**
* Pobiera sesje hibernate'owa
*
* @return sesje
* @throws HibernateException
*/
protected Session getSession() throws HibernateException {
return sessionFactory.getCurrentSession();
}
/*
* Loguje bledy na konsoli i przekazuej blad dalej
*/
public void handleException(HibernateException e) throws Exception {
// mozna logowac. dorwac logera jboss'a
Logger logger = Logger.getLogger(getClass());
logger.error(e.getMessage(), e);
throw e;
}
}