/** * Obtener un control de horas por el ID específico * * @param id - El id del control de horas * @return - ControlHoras con sus datos respectivos y registros de RegistroHora con las horas * específicas */ public ControlHoras getByPK(int id) { ControlHoras controlHoras = null; Session session = HibernateUtil.getSessionFactory().openSession(); // Obtener el control de Horas controlHoras = (ControlHoras) session .createCriteria(ControlHoras.class) .add(Restrictions.eq("idControlHoras", id)) .setFetchMode("horas", FetchMode.JOIN) .setFetchMode("estado", FetchMode.JOIN) .uniqueResult(); session.close(); return controlHoras; }
public Plantel getPlantelById() { Session session = HibernateUtil.getSessionFactory().openSession(); Plantel plantel = null; ProjectionList plist = Projections.projectionList(); plist.add(Projections.property("p.nombre").as("nombre")); Criteria criteria = session .createCriteria(Plantel.class, "p") .setProjection(plist) .setResultTransformer(new AliasToBeanResultTransformer(Plantel.class)) .addOrder(Order.asc("nombre")); plantel = (Plantel) criteria.uniqueResult(); session.close(); return plantel; }
/** * Devuelve todos los controles de horas de una inscripción. Solo contiene los datos generales del * reporte, no los registros de horas. * * @param username - Nombre de un usuario inscrito a un programa de servicio * @return - Lista con los controles de horas */ public List<ControlHoras> getListByUsername(String username) { List<ControlHoras> lista = null; int idInscripcion = 0; Session session = HibernateUtil.getSessionFactory().openSession(); PrestadorDAO pdao = new PrestadorDAO(); Inscripcion inscripcion = pdao.getCurrentInscripcion(username); if (inscripcion != null) { idInscripcion = inscripcion.getIdInscripcion(); // Obtener el control de Horas Criterion crit[] = new Criterion[1]; crit[0] = Restrictions.eq("idInscripcion", idInscripcion); lista = this.getListWithRestriction(crit, FetchMode.SELECT); } session.close(); return lista; }
private List<ControlHoras> getListWithRestriction(Criterion res[], FetchMode mode) { List<ControlHoras> lista = null; Session session = HibernateUtil.getSessionFactory().openSession(); // Obtener el control de Horas Criteria criteria = session .createCriteria(ControlHoras.class) .setFetchMode("horas", mode) .setFetchMode("estado", FetchMode.JOIN); for (Criterion crit : res) { criteria.add(crit); } lista = Collections.checkedList(criteria.list(), ControlHoras.class); session.close(); return lista; }
public Plantel getPlantelById(int id) { Plantel plantel = new Plantel(); Session session = HibernateUtil.getSessionFactory().openSession(); Transaction transaction = null; try { transaction = session.beginTransaction(); Criteria criteria = session.createCriteria(Plantel.class); plantel = (Plantel) criteria.add(Restrictions.eq("idPlantel", id)).uniqueResult(); transaction.commit(); } catch (HibernateException ex) { System.out.println("Error obteniendo institucion"); } finally { session.close(); } return plantel; }
public int deleteByPK(int idControlHoras) { Session session = HibernateUtil.getSessionFactory().openSession(); Transaction transaction = null; try { transaction = session.beginTransaction(); transaction.begin(); Query q = session.createQuery("delete from ControlHoras where idControlHoras = :id"); q.setInteger("id", idControlHoras); int rows = q.executeUpdate(); transaction.commit(); return rows; } catch (Exception e) { System.out.println("Error borrando control de horas..."); e.printStackTrace(); transaction.rollback(); return 0; } finally { session.close(); } }