List of usage examples for org.hibernate.criterion Restrictions or
public static LogicalExpression or(Criterion lhs, Criterion rhs)
From source file:br.ufg.calendario.dao.InteressadoDao.java
@Transactional(readOnly = true) public List<Interessado> listar(String termo) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(Interessado.class); criteria.add(Restrictions.or(Restrictions.like("sigla", termo, MatchMode.ANYWHERE).ignoreCase(), Restrictions.like("nome", termo, MatchMode.ANYWHERE).ignoreCase())) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria.list(); }
From source file:br.ufg.calendario.dao.InteressadoDao.java
@Transactional(readOnly = true) public int rowCount(String termo) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(Interessado.class); if (termo != null && !termo.isEmpty()) { criteria.add(Restrictions.or(Restrictions.like("sigla", termo.trim(), MatchMode.ANYWHERE).ignoreCase(), Restrictions.like("nome", termo.trim(), MatchMode.ANYWHERE).ignoreCase())); }//from ww w . ja va 2 s . c o m return ((Long) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue(); }
From source file:br.ufg.calendario.dao.UsuarioDao.java
@Transactional(readOnly = true) public List<Usuario> listar(int first, int pageSize, String sortField, String sortOrder, Map<String, Object> filters) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(Usuario.class); criteria.setFirstResult(first);//w w w .j a v a 2 s.co m 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")) { criteria.add(Restrictions.or( Restrictions.like("nome", filters.get(key).toString(), MatchMode.ANYWHERE).ignoreCase(), Restrictions.like("login", filters.get(key).toString(), MatchMode.ANYWHERE) .ignoreCase())); } if (key.equals("perfil")) { PerfilEnum p = (PerfilEnum) filters.get(key); criteria.add(Restrictions.eq("perfil", p)); } } } criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); List<Usuario> resultado = criteria.list(); for (Usuario u : resultado) { Hibernate.initialize(u.getPerfil()); } return resultado; }
From source file:br.ufg.reqweb.dao.IndicePrioridadeDao.java
@Transactional(readOnly = true) public List<IndicePrioridade> find(String termo) { try {/*from w w w . j a v a 2 s . c om*/ return this.sessionFactory.getCurrentSession().createCriteria(IndicePrioridade.class) .createAlias("discente", "d") .add(Restrictions.or(Restrictions.eq("d.matricula", termo), Restrictions.like("d.nome", termo, MatchMode.ANYWHERE).ignoreCase())) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).list(); } catch (HibernateException e) { System.out.println("query error: " + e.getMessage()); return new ArrayList<>(); } }
From source file:br.ufg.reqweb.dao.RequerimentoDao.java
/** * find by discente nome//from w w w . j ava 2 s. c om * * @param termo * @param sortField * @param sortOrder * @return */ @Transactional(readOnly = true) public List<Requerimento> find(String termo, String sortField, String sortOrder) { try { List<Requerimento> requerimentos; Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Requerimento.class) .createAlias("discente", "d").add(Restrictions.or(Restrictions.eq("d.matricula", termo), Restrictions.like("d.nome", termo, MatchMode.ANYWHERE).ignoreCase())); 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: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 w w. ja va2s . c o m 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.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 v a 2s .c om 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.PostList.java
License:Open Source License
private void addBooleanFilters(boolean onlyNew, boolean findReplies, boolean onlyFlagged, boolean onlyFeatured, boolean findEmails, boolean sortByLastReply, Criteria criteria) { if (!findReplies) { criteria.add(Restrictions.isNull("parent")); }/*w ww . jav a 2 s. c o m*/ if (!findEmails) { criteria.add(Restrictions.eq("emailed", false)); } if (sortByLastReply) { criteria.addOrder(Order.desc("lastReply")); } else if (onlyNew) { SimpleExpression mainDate = Restrictions.gt("date", currentUser.getLastLogin()); criteria.add(mainDate); criteria.addOrder(Order.asc("date")); } else { criteria.addOrder(Order.desc("date")); } if (onlyFlagged) { Set<PostModel> flaggedPosts2 = currentUser.getFlaggedPosts(); if (flaggedPosts2.isEmpty()) { criteria.add(Restrictions.eq("id", 0)); } else { Vector<Integer> flaggedIDs = new Vector<Integer>(); for (PostModel p : flaggedPosts2) { flaggedIDs.add(p.getId()); } Criterion flaggedSelf = Restrictions.in("id", flaggedIDs); Criterion flaggedParent = Restrictions.in("parent", flaggedPosts2); criteria.add(Restrictions.or(flaggedSelf, flaggedParent)); } } if (onlyFeatured) { criteria.add(Restrictions.eq("featured", true)); } }
From source file:ca.qc.cegepoutaouais.tge.pige.server.PigeHibernateUtil.java
License:Open Source License
public static Criterion buildFilterCriterion(List<FilterConfig> filterConfigList) { if (filterConfigList == null || filterConfigList.size() <= 0) { return null; }/*from w w w. j a va 2s . c o m*/ FilterConfig matchModeConfig = null; for (FilterConfig fc : filterConfigList) { String field = fc.getField(); if (field != null && field.equals(PIGE.MATCH_MODE)) { matchModeConfig = fc; filterConfigList.remove(fc); break; } } MatchMode matchMode = MatchMode.ANYWHERE; //if (matchModeConfig != null && (Boolean) matchModeConfig.getValue()) { // matchMode = MatchMode.EXACT; //} Criterion filterCriteria = null; Deque<FilterConfig> queue = new ArrayDeque<FilterConfig>(filterConfigList); FilterConfig filterConfig = null; while (queue.peekFirst() != null) { filterConfig = queue.pollFirst(); if (filterConfig.getField() == null || filterConfig.getValue() == null) { continue; } // Test pour chercher par nom de rle. if (filterConfig.getField().equals(User.ROLE_REF)) { ManagementServiceImpl rpcService = new ManagementServiceImpl(); List<Role> roles = rpcService.getAllRole(); String roleName = (String) filterConfig.getValue(); Boolean roleFound = false; for (Role role : roles) { if (role.getName().equalsIgnoreCase(roleName)) { filterConfig.setValue(role); roleFound = true; break; } } if (!roleFound) { continue; } } // if (filterCriteria == null) { filterCriteria = createLikeRestriction(filterConfig, matchMode); //Restrictions.like( //filterConfig.getField(), //(String) filterConfig.getValue(), matchMode); if (queue.peekFirst() != null) { filterConfig = queue.pollFirst(); filterCriteria = Restrictions.or(filterCriteria, createLikeRestriction(filterConfig, matchMode)); //Restrictions.like(filterConfig.getField(), //(String) filterConfig.getValue(), matchMode)); } } else { filterCriteria = Restrictions.or(filterCriteria, createLikeRestriction(filterConfig, matchMode)); //Restrictions.like(filterConfig.getField(), //(String) filterConfig.getValue(), matchMode)); } } return filterCriteria; }
From source file:chat.service.DoChat.java
License:LGPL
/** * read chats according to SO' {@link Chat#out} and {@link Chat#in} from * {@link Chat#datime}(excluded, or oldest if null), order by {@link Chat#datime} asc *//*from w ww .j a v a 2 s . co m*/ @Service @Transac.Readonly public List<Chat> read(Chat c) throws Exception { Criteria<Chat> t = data.criteria(Chat.class); User me = new User().id(sess.me); Criterion out = Restrictions.eq("out", me); if (c.in != null) out = Restrictions.and(out, // chats from me Restrictions.eq("in", c.in)); Criterion in = Restrictions.eq("in", me); if (c.out != null) in = Restrictions.and(in, // chats to me Restrictions.eq("out", c.out)); t.add(Restrictions.or(out, in)); if (c.datime != null) t.add(Restrictions.gt("datime", c.datime)); return t.addOrder(Order.asc("datime")).list(); }