List of usage examples for org.hibernate.criterion Restrictions in
public static Criterion in(String propertyName, Collection values)
From source file:br.os.rh.lotacaodiscplinas.LotacaoDisciplinaDAO.java
public List<LotacaoDisciplina> pesquisaPeriodo() { setSessao(HibernateUtil.getSessionFactory().openSession()); setTransacao(getSessao().beginTransaction()); List<Lotacao> lotacoes = (List<Lotacao>) getSessao().createCriteria(Lotacao.class) .add(Restrictions.eq("periodo", Ativo.getPeriodo())).list(); List<LotacaoDisciplina> lotDisc = (List<LotacaoDisciplina>) getSessao() .createCriteria(LotacaoDisciplina.class).add(Restrictions.in("lotacao", lotacoes)).list(); getSessao().close();/*from w w w .j av a2s . co m*/ return lotDisc; }
From source file:br.os.rh.salario.SalarioDAO.java
public List<Salario> pesquisaDisciplinaPeriodo(Disciplina d, Periodo p) { setSessao(HibernateUtil.getSessionFactory().openSession()); setTransacao(getSessao().beginTransaction()); List<Salario> salarios = (List<Salario>) getSessao().createCriteria(Salario.class) .add(Restrictions.eq("periodo", p)).list(); List<LotacaoDisciplina> listaSalaDis = new ArrayList<>(); if (salarios.size() > 0) { listaSalaDis = (List<LotacaoDisciplina>) getSessao().createCriteria(LotacaoDisciplina.class) .add(Restrictions.in("salario", salarios)).add(Restrictions.eq("disciplina", d)).list(); }/*from ww w. j ava2s.c o m*/ List<Salario> salarioReturn = new ArrayList<Salario>(); for (int i = 0; i < listaSalaDis.size(); i++) { // salarioReturn.add(listaSalaDis.get(i).getSalario()); } getSessao().close(); return salarioReturn; }
From source file:br.os.rh.semestre.SemestreDAO.java
public List<Semestre> listarPorCurso() { List<Semestre> lista = null; CursoDAO cDAO = new CursoDAO(); try {//from www . j a va 2s. co m this.setSessao(HibernateUtil.getSessionFactory().openSession()); setTransacao(getSessao().beginTransaction()); lista = this.getSessao().createCriteria(Semestre.class) .add(Restrictions.in("curso", cDAO.pesquisaCursosCoordenadores())).list(); //sessao.close(); } catch (Throwable e) { if (getTransacao().isActive()) { getTransacao().rollback(); } JOptionPane.showMessageDialog(null, "No foi possvel listar: " + e.getMessage()); } return lista; }
From source file:br.ufg.calendario.dao.EventoDao.java
@Transactional(readOnly = true) public List<Evento> listar(int first, int pageSize, String sortField, String sortOrder, Map<String, Object> filters) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(Evento.class); criteria.setFirstResult(first);// w ww. j a va 2 s.c om criteria.setMaxResults(pageSize); if ((sortField != null && !sortField.isEmpty()) && (sortOrder != null && !sortOrder.isEmpty())) { if (sortOrder.equals("ASCENDING")) { criteria.addOrder(Order.asc(sortField)); } if (sortOrder.equals("DESCENDING")) { criteria.addOrder(Order.desc(sortField)); } } else { criteria.addOrder(Order.asc("id")); } if (filters != null && !filters.isEmpty()) { for (String key : filters.keySet()) { if (key.equals("termo")) { List foundList = buscarTermo(session, filters.get("termo").toString()); if (foundList.size() > 0) { criteria.add(Restrictions.in("id", foundList)); } else { criteria.add(Restrictions.or( Restrictions.like("assunto", filters.get(key).toString(), MatchMode.ANYWHERE) .ignoreCase(), Restrictions.like("descricao", filters.get(key).toString(), MatchMode.ANYWHERE) .ignoreCase())); } } if (key.equals("interessado")) { Interessado interessado = (Interessado) filters.get(key); System.out.println("interessado: " + interessado.getNome()); criteria.createCriteria("interessado").add(Restrictions.eq("id", interessado.getId())); } if (key.equals("regional")) { Regional regional = (Regional) filters.get(key); System.out.println("regional: " + regional.getNome()); criteria.createCriteria("regional").add(Restrictions.eq("id", regional.getId())); } if (key.equals("periodo")) { Map periodo = (Map) filters.get(key); criteria.add(Restrictions .or(Restrictions.between("inicio", periodo.get("inicio"), periodo.get("termino"))) .add(Restrictions.between("termino", periodo.get("inicio"), periodo.get("termino")))); } if (key.equals("calendario")) { criteria.createAlias("calendario", "c"); criteria.add(Restrictions.eq("c.ano", ((Calendario) filters.get(key)).getAno())); } } } if (filters == null || !filters.containsKey("calendario")) { criteria.createAlias("calendario", "c"); criteria.add(Restrictions.eq("c.ativo", true)); } criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); List<Evento> resultado = criteria.list(); for (Evento evt : resultado) { Hibernate.initialize(evt.getInteressado()); Hibernate.initialize(evt.getRegional()); } return resultado; }
From source file:br.ufg.reqweb.dao.RequerimentoDao.java
@Transactional(readOnly = true) public List<Requerimento> find(String sortField, String sortOrder, Map<String, Object> filters) { if (filters == null) { filters = new HashMap(); }/*from w ww . j a v a 2 s . com*/ try { Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Requerimento.class); for (String field : filters.keySet()) { /** * login eq / tipoRequerimento eq / termo like / dataCriacao * between */ if (field.equals("login")) { criteria.createAlias("discente", "d"); criteria.add(Restrictions.and(Restrictions.eq("d.login", filters.get(field)))); } if (field.equals("turmas")) { criteria.createAlias("itemRequerimentoList", "i"); List<Turma> turmas = (List<Turma>) filters.get(field); criteria.add(Restrictions.and(Restrictions.in("i.turma", turmas))); } if (field.equals("tipoRequerimento")) { criteria.add(Restrictions.and(Restrictions.eq(field, filters.get(field)))); } if (field.equals("termo")) { criteria.createAlias("discente", "d"); criteria.add(Restrictions.or(Restrictions.eq("d.matricula", filters.get("termo")), Restrictions .like("d.nome", filters.get("termo").toString(), MatchMode.ANYWHERE).ignoreCase())); } if (field.equals("curso")) { criteria.createAlias("discente.perfilList", "p"); criteria.add(Restrictions.and(Restrictions.eq("p.curso", filters.get(field)))); } if (field.equals("dataCriacao")) { Date[] arrayDate = (Date[]) filters.get("dataCriacao"); criteria.add(Restrictions.and(Restrictions.between("dataCriacao", arrayDate[0], arrayDate[1]))); } } if ((sortField != null && !sortField.isEmpty()) && (sortOrder != null && !sortOrder.isEmpty())) { if (sortOrder.toLowerCase().equals("asc")) { criteria.addOrder(Property.forName(sortField).asc()); } if (sortOrder.toLowerCase().equals("desc")) { criteria.addOrder(Property.forName(sortField).desc()); } } criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria.list(); } catch (HibernateException e) { System.out.println("query error: " + e.getMessage()); return new ArrayList<>(); } }
From source file:ca.myewb.controllers.chapter.FindDupes.java
License:Open Source License
private void findEmailMatch(Context ctx, String toMatch, String key) { int maxSize = 11; String query = "SELECT userid FROM useremails e WHERE e.email LIKE '%" + toMatch + "%'"; List ids = HibernateUtil.currentSession().createSQLQuery(query).list(); if (ids.isEmpty()) { ctx.put(key, new Vector()); return;/*from ww w . j ava 2 s .c o m*/ } Criteria crit = hibernateSession.createCriteria(UserModel.class); List uniqueResultsList = crit.add(Restrictions.in("id", ids)).add(Restrictions.ne("id", new Integer(1))) .setProjection(Projections.groupProperty("id")).setMaxResults(maxSize).list(); Vector<UserModel> uniqueResults = new Vector<UserModel>(); if (uniqueResultsList.size() < maxSize) { Iterator iter = uniqueResultsList.iterator(); while (iter.hasNext()) { Integer i = (Integer) iter.next(); // This try/catch block is a workaround to the deleted-admin-causes-cgilib-blowup bug try { uniqueResults.add((UserModel) hibernateSession.get(UserModel.class, i)); } catch (Exception e) { log.warn("Unable to add user to usersearch: id " + i.toString()); } } ctx.put(key, uniqueResults); } }
From source file:ca.myewb.controllers.common.EventList.java
License:Open Source License
public Collection<EventModel> listVisibleEventsBetweenDates(Date start, Date end, GroupChapterModel chapter) throws HibernateException { Criteria criteria = hibernateSession.createCriteria(EventModel.class); LogicalExpression singleDayEvents = Restrictions.and(Restrictions.ge("startDate", start), Restrictions.le("endDate", end)); LogicalExpression endsToday = Restrictions.and(Restrictions.lt("startDate", start), Restrictions.and(Restrictions.ge("endDate", start), Restrictions.le("endDate", end))); LogicalExpression startsToday = Restrictions.and( Restrictions.and(Restrictions.ge("startDate", start), Restrictions.le("startDate", end)), Restrictions.gt("endDate", end)); LogicalExpression ongoing = Restrictions.and(Restrictions.lt("startDate", start), Restrictions.gt("endDate", end)); criteria.add(Restrictions.or(singleDayEvents, Restrictions.or(endsToday, Restrictions.or(startsToday, ongoing)))); if (chapter == null) { if (!currentUser.isAdmin()) { criteria.add(Restrictions.in("group", Permissions.visibleGroups(currentUser, true))); } else {/*from w ww . ja va2s. c o m*/ List<GroupModel> adminGroups = Helpers.getNationalRepLists(true, true); adminGroups.add(Helpers.getGroup("Exec")); adminGroups.add(Helpers.getGroup("ProChaptersExec")); criteria.add(Restrictions.in("group", adminGroups)); } } else { criteria.add(Restrictions.in("group", Permissions.visibleGroupsInChapter(currentUser, chapter))); } criteria.addOrder(Order.asc("startDate")); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return new SafeHibList<EventModel>(criteria).list(); }
From source file:ca.myewb.controllers.common.EventList.java
License:Open Source License
public List<EventModel> listPaginatedVisibleEvents(String filter, int startPage, int eventsPerPage, Date endAfter) throws HibernateException { Criteria criteria = hibernateSession.createCriteria(EventModel.class); if (!currentUser.isAdmin()) { log.info("EventList visible groups added to criteria"); criteria.add(Restrictions.in("group", Permissions.visibleGroups(currentUser, true))); }// www . j a v a2s .co m criteria.addOrder(Order.asc("startDate")); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); addBooleanFilters(endAfter, criteria); addFilter(filter, criteria); addPagination(startPage, eventsPerPage, criteria); return getUniqueEventList(criteria); }
From source file:ca.myewb.controllers.common.EventList.java
License:Open Source License
public int visibleEventCount(String filter, Date endAfter) throws HibernateException { Criteria criteria = hibernateSession.createCriteria(EventModel.class); if (!currentUser.isAdmin()) { criteria.add(Restrictions.in("group", Permissions.visibleGroups(currentUser, true))); }//from w ww. j av a 2 s . c om addBooleanFilters(endAfter, criteria); addFilter(filter, criteria); criteria.addOrder(Order.asc("startDate")); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return getUniqueEventCount(criteria); }
From source file:ca.myewb.controllers.common.EventList.java
License:Open Source License
public int visiblePreviousEventCount(String filter, Date fromDate) throws HibernateException { Criteria criteria = hibernateSession.createCriteria(EventModel.class); if (!currentUser.isAdmin()) { criteria.add(Restrictions.in("group", Permissions.visibleGroups(currentUser, true))); }/*from ww w . jav a2s.c om*/ criteria.add(Restrictions.lt("startDate", fromDate)); addFilter(filter, criteria); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return getUniqueEventCount(criteria); }