public void doDelete(X registro) { try { dao.doDelete(registro); } catch (HibernateException he) { if (getSession().isOpen()) { HibernateUtil.rollback(getSession().getTransaction()); HibernateUtil.closeEditorSession(getEditorId()); } HibernateUtil.procesarError(he); session = HibernateUtil.getEditorSession(editorId); session.setFlushMode(FlushMode.MANUAL); dao.setSession(session); HibernateUtil.verSesiones(); } }
public AbstractController(GenericDAOImpl<X, Long> dao) { LOGGER = Logger.getLogger(getClass()); session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); this.dao = dao; this.dao.setSession(session); }
/** * Inicializa una sesión de hibernate en base al editor indicado * * @param id que se asociará a la nueva sesión */ public AbstractController(String editorId, GenericDAOImpl<X, Long> dao) { LOGGER = Logger.getLogger(getClass()); session = HibernateUtil.getEditorSession(editorId); session.setFlushMode(FlushMode.MANUAL); // session.setFlushMode(FlushMode.NEVER); /* session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); */ this.editorId = editorId; this.dao = dao; this.dao.setSession(session); }
/** * Finaliza una sesión de hibernate * * @param editorId id asociado a la sesión que será finalizada */ public void finalizarSesion() { // System.out.println("Finalizando sesión: " + getEditorId()); LOGGER.info("Finalizando sesión: " + getEditorId()); HibernateUtil.closeEditorSession(getEditorId()); // graba en la base de datos }
/** Permite ver las sesiones activas de Hibernate */ public void verSesiones() { HibernateUtil.verSesiones(); }