List of usage examples for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY
ResultTransformer DISTINCT_ROOT_ENTITY
To view the source code for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY.
Click Source Link
From source file:at.ac.tuwien.ifs.tita.dao.user.UserDAO.java
License:Apache License
/** {@inheritDoc} **/ @Override//from w ww . j av a 2 s . co m @SuppressWarnings("unchecked") public List<TiTAUser> findUsersOrdered(int maxResult) throws PersistenceException { Criteria crit = getSession().createCriteria(TiTAUser.class); if (maxResult > 0) { crit.setMaxResults(maxResult); } crit.addOrder(Order.asc("userName")); crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return crit.list(); }
From source file:au.edu.uts.eng.remotelabs.schedserver.permissions.pages.UsersPage.java
License:Open Source License
/** * Gets a list of users with a specific search term. The users may be * excluded from a specific class. // w ww. ja v a2 s . c om * * @param request * @return response * @throws Exception */ @SuppressWarnings("unchecked") public JSONArray list(HttpServletRequest request) throws JSONException { JSONArray arr = new JSONArray(); Criteria qu = this.db.createCriteria(User.class); String search = request.getParameter("search"); if (search != null) { /* Search filter. */ qu.add(Restrictions.disjunction().add(Restrictions.like("name", search, MatchMode.ANYWHERE)) .add(Restrictions.like("firstName", search, MatchMode.ANYWHERE)) .add(Restrictions.like("lastName", search, MatchMode.ANYWHERE))); } if (request.getParameter("max") != null) { /* Max results. */ qu.setMaxResults(Integer.parseInt(request.getParameter("max"))); } if (request.getParameter("in") != null) { /* Users in class. */ UserClass inClass = new UserClassDao(this.db).findByName(request.getParameter("in")); if (inClass == null) { this.logger.warn("Not going to add in class as a user list restriction because the class '" + request.getParameter("in") + "' was not found."); } else { qu.createCriteria("userAssociations").add(Restrictions.eq("userClass", inClass)); } } if (request.getParameter("notIn") != null) { /* Users not in class. */ UserClass notInClass = new UserClassDao(this.db).findByName(request.getParameter("notIn")); if (notInClass == null) { this.logger.warn("Not going to add not in class as a user list restriction because the class '" + request.getParameter("notIn") + "' was not found."); } else { DetachedCriteria subQu = DetachedCriteria.forClass(User.class) .setProjection(Property.forName("name")).createCriteria("userAssociations") .add(Restrictions.eq("userClass", notInClass)); List<String> names = subQu.getExecutableCriteria(this.db).list(); if (names.size() > 0) { qu.add(Restrictions.not(Restrictions.in("name", names))); } } } qu.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); qu.addOrder(Order.asc("lastName")); qu.addOrder(Order.asc("name")); for (User user : (List<User>) qu.list()) { JSONObject uo = new JSONObject(); uo.put("name", user.getNamespace() + "-_-" + user.getName()); if (user.getFirstName() == null || user.getLastName() == null) { uo.put("display", user.getName()); } else { uo.put("display", user.getLastName() + ", " + user.getFirstName()); } arr.put(uo); } return arr; }
From source file:br.al.contractmanager.dao.UsuarioDao.java
@Transactional(readOnly = true) public List<Usuario> buscar(String termo) { Session session = sessionFactory.getCurrentSession(); return session.createCriteria(Usuario.class) .add(Restrictions.or(Restrictions.eq("matricula", termo), Restrictions.like("nomeUsuario", termo, MatchMode.ANYWHERE).ignoreCase(), Restrictions.like("nomeCompleto", termo, MatchMode.ANYWHERE).ignoreCase())) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).list(); }
From source file:br.com.fatecmogidascruzes.saph.dao.AlternativeDAO.java
@Override public List<Alternative> getAlternativesByKnowledgeArea(KnowledgeArea kArea) { session = HSession.getSession();//w w w. j a va 2s .com String hql = " SELECT alt FROM Alternative alt inner join alt.evaluatedItems ev inner join ev.ability.knowledgeAreas ka WHERE :kAreaId = ka.id"; Query q = session.createQuery(hql); q.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); q.setParameter("kAreaId", kArea.getId()); List entities = q.list(); session.close(); return entities; }
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);/* ww w.j a v a 2 s . c o 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")) { 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.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.RegionalDao.java
@Transactional(readOnly = true) public List<Regional> listar(String termo) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(Regional.class); criteria.add(Restrictions.like("nome", termo, MatchMode.ANYWHERE).ignoreCase()) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria.list(); }
From source file:br.ufg.calendario.dao.UsuarioDao.java
@Transactional(readOnly = true) public Usuario buscarPorLogin(String login) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(Usuario.class); criteria.add(Restrictions.eq("login", login)); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); Usuario usuario = (Usuario) criteria.uniqueResult(); if (usuario != null) { Hibernate.initialize(usuario.getPerfil()); }//from w w w .j a va 2s. c o m return usuario; }
From source file:br.ufg.calendario.dao.UsuarioDao.java
@Transactional(readOnly = true) public List<Usuario> listar() { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(Usuario.class); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria.list(); }
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);//from w w w . j a v a 2s.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; }