List of usage examples for org.hibernate.criterion Projections rowCount
public static Projection rowCount()
From source file:br.com.hrstatus.dao.impl.UsersDAO.java
License:Open Source License
public int searchUserChangePassNotLogged(String username) { log.fine("[ System ] searchUserChangePass(String username)[" + username + "]"); final Criteria criteria = session().createCriteria(PassExpire.class); criteria.add(Restrictions.eq("username", username)); criteria.setProjection(Projections.rowCount()); final int count = ((Long) criteria.uniqueResult()).intValue(); return count; }
From source file:br.com.itw.commons.persistence.CoreRepository.java
License:Apache License
public Page<T> search(T entity, Pageable pageable) { if (pageable == null) { pageable = new PageRequest(0, 10); }//from ww w . j a va 2 s. co m Session session = (Session) entityManager.getDelegate(); Criteria criteria = session.createCriteria(entity.getClass()); // Prepare Example Example example = Example.create(entity); criteria.add(example.enableLike(MatchMode.ANYWHERE).ignoreCase()); // Count Long totalItems = (Long) criteria.setProjection(Projections.rowCount()).uniqueResult(); // Pageable result Result criteria.setProjection(null).setResultTransformer(CriteriaSpecification.ROOT_ENTITY); List<T> result = criteria.setFirstResult((pageable.getPageNumber() - 1) * pageable.getPageSize()) .setMaxResults(pageable.getPageSize()).list(); return (Page<T>) new PageImpl<T>(result, pageable, totalItems); }
From source file:br.com.itw.commons.persistence.PageableHelper.java
License:Apache License
public static Page<?> getPage(Criteria criteria, Pageable pageable) { // Count/* ww w . j av a 2 s . c o m*/ Long totalItems = (Long) criteria.setProjection(Projections.rowCount()).uniqueResult(); // Pageable result Result criteria.setProjection(null).setResultTransformer(CriteriaSpecification.ROOT_ENTITY); if (pageable.getSort() != null) { Iterator<Sort.Order> orders = pageable.getSort().iterator(); while (orders.hasNext()) { Sort.Order order = orders.next(); if (order.getDirection() == null || Sort.Direction.ASC.equals(order.getDirection())) { criteria.addOrder(Order.asc(order.getProperty())); } else { criteria.addOrder(Order.desc(order.getProperty())); } } } List<?> result = criteria.setFirstResult(pageable.getPageNumber() * pageable.getPageSize()) .setMaxResults(pageable.getPageSize()).list(); return (Page<?>) new PageImpl<>(result, pageable, totalItems); }
From source file:br.com.progolden.dneutils.utils.DNEUtils.java
License:Apache License
private Long countByCEP(String cep, Class<? extends EntityIF> entityClass) { Criteria criteria;//w w w . j a va 2s. c o m Long count; LOGGER.debug("Contando ocorrncias do CEP " + cep + " na tabela " + entityClass.getCanonicalName()); criteria = this.dao.newCriteria(entityClass); criteria.add(Restrictions.eq("cep", cep)); criteria.setProjection(Projections.rowCount()); count = this.dao.uniqueByCriteria(criteria, Long.class); LOGGER.debug("Contagem realizada: " + String.valueOf(count)); return count; }
From source file:br.com.surittec.suriee.framework.dao.DaoSupport.java
License:Open Source License
/** * Retorna a quantidade de registros//w w w . j a v a 2 s. c om * @return long */ public Long count() { return (Long) getSession().createCriteria(tipo).setProjection(Projections.rowCount()).uniqueResult(); }
From source file:br.com.surittec.suriee.framework.service.GenericRetrieveService.java
License:Open Source License
/** * Retorna a quantidade de registros da entidade do tipo <T> informada. * @param <T>/*w w w.j a va 2 s . c om*/ * @param classe * @return long */ public <T> Long count(Class<T> classe) { return (Long) getSession().createCriteria(classe).setProjection(Projections.rowCount()).uniqueResult(); }
From source file:br.com.tcc.service.persistence.PaginationHelper.java
/** * <p>// www .j a va2 s . co m * <b>ATENO:</b> Este mtodo <b>altera permanentemente</b> o objeto {@link Criteria} recebido como parmetro. Qualquer {@link Projection} ou {@link ResultTransformer} configurado no criteria * <b>ser substitudo</b>. * </p> * <p> * Use o parmetro <code>distinct</code> para definir se o {@link ResultTransformer} deve ser * {@link Criteria.DISTINCT_ROOT_ENTITY} ou apenas {@link Criteria.ROOT_ENTITY} * e se deve ser usado <code>distinct count(*)</code> ou apenas <code>count(*)</code>. * </p> * @param criteria O Criteria a ser utilizado * @param pagination O objeto com a paginao desejada. * @param distinct Se a consulta deve usar <code>SQL DISTINCT</code>. * @return Um novo objeto de paginao referente consulta atual. */ private static Pagination getTotalItemsForCriteria(Criteria criteria, Pagination pagination, boolean distinct) { Projection count = Projections.rowCount(); if (distinct) { count = Projections.distinct(count); } int totalItems = (Integer) criteria.setProjection(count).uniqueResult(); criteria.setProjection(null) .setResultTransformer(distinct ? Criteria.DISTINCT_ROOT_ENTITY : Criteria.ROOT_ENTITY); return new Pagination(pagination.getPageSize(), pagination.getCurrentPage(), totalItems, pagination.getOrdering()); }
From source file:br.com.thiaguten.persistence.spi.provider.hibernate.HibernatePersistenceProvider.java
License:Apache License
/** * {@inheritDoc}//www. j a v a 2s . c om */ @Override public <ID extends Serializable, T extends Persistable<ID>, N extends Number> N countByCriteria( Class<T> entityClazz, Class<N> resultClazz, ResultTransformer resultTransformer, List<Criterion> criterions) { Criteria criteria = getSession().createCriteria(entityClazz); criteria.setProjection(Projections.rowCount()); if (criterions != null) { for (Criterion c : criterions) { criteria.add(c); } } return (N) criteria.setResultTransformer(resultTransformer).uniqueResult(); }
From source file:br.gov.jfrj.siga.ex.bl.ExBL.java
License:Open Source License
public void numerarTudo(int aPartirDe) { List<ExDocumento> list = new ArrayList<ExDocumento>(); final Criteria countCrit = dao().getSessao().createCriteria(ExDocumento.class) .add(Restrictions.gt("idDoc", new Long(aPartirDe))); countCrit.setProjection(Projections.rowCount()); Integer totalDocs = ((Long) countCrit.uniqueResult()).intValue(); final Criteria crit = dao().getSessao().createCriteria(ExDocumento.class) .add(Restrictions.gt("idDoc", new Long(aPartirDe))); crit.setMaxResults(60);/*from w w w . java 2s . c o m*/ crit.addOrder(Order.asc("idDoc")); int index = 0; do { long inicio = System.currentTimeMillis(); //System.gc(); iniciarAlteracao(); crit.setFirstResult(index); list = crit.list(); for (ExDocumento doc : list) { index++; try { for (ExMovimentacao m : doc.getExMovimentacaoSet()) { m.setNumPaginas(m.getContarNumeroDePaginas()); dao().gravar(m); } } catch (Throwable e) { System.out.println("Erro ao marcar o doc " + doc); e.printStackTrace(); } if (index % 50 == 0) { // System.gc(); } System.out.print(doc.getIdDoc() + " ok - "); } ExDao.commitTransacao(); dao().getSessao().clear(); long duracao = System.currentTimeMillis() - inicio; System.out.println(); System.out.println(new SimpleDateFormat("HH:mm:ss").format(new Date()) + " " + String.valueOf(index) + " numerados de " + totalDocs); } while (list.size() > 0); //System.gc(); }
From source file:br.gov.jfrj.siga.ex.bl.ExBL.java
License:Open Source License
public void marcarTudo(int primeiro, int ultimo, boolean efetivar, boolean apenasTemporalidade, PrintWriter out) {//from ww w.j a v a2 s . c o m List<ExDocumento> list = new ArrayList<ExDocumento>(); final Criteria countCrit = dao().getSessao().createCriteria(ExDocumento.class) .add(Restrictions.ge("idDoc", new Long(primeiro))); if (ultimo != 0) countCrit.add(Restrictions.le("idDoc", new Long(ultimo))); countCrit.setProjection(Projections.rowCount()); final Criteria crit = dao().getSessao().createCriteria(ExDocumento.class) .add(Restrictions.ge("idDoc", new Long(primeiro))); if (ultimo != 0) crit.add(Restrictions.le("idDoc", new Long(ultimo))); crit.setMaxResults(5); crit.addOrder(Order.asc("idDoc")); out.println("-----------------------------------------------"); out.print(new SimpleDateFormat("HH:mm:ss").format(new Date())); out.print(" - Remarcando documentos."); out.print(" Primeiro: "); out.println(primeiro); if (ultimo != 0) { out.print(" Ultimo: "); out.println(ultimo); } if (efetivar) out.println("***EFETIVAR!!***"); out.println("-----------------------------------------------"); int index = 0; do { long inicio = System.currentTimeMillis(); if (efetivar) iniciarAlteracao(); crit.setFirstResult(index); list = crit.list(); for (ExDocumento doc : list) { index++; StringBuilder msg = new StringBuilder(); try { StringBuilder marcasAnteriores = new StringBuilder(); for (ExMobil mob : doc.getExMobilSet()) { marcasAnteriores.append(mob.isGeral() ? "0" : mob.getNumSequencia()); marcasAnteriores.append(" - "); marcasAnteriores.append(mob.getMarcadoresDescrCompleta(apenasTemporalidade)); } atualizarMarcasTemporalidade(doc); StringBuilder marcasPosteriores = new StringBuilder(); for (ExMobil mob : doc.getExMobilSet()) { marcasPosteriores.append(mob.isGeral() ? "0" : mob.getNumSequencia()); marcasPosteriores.append(" - "); marcasPosteriores.append(mob.getMarcadoresDescrCompleta(apenasTemporalidade)); } if (!marcasAnteriores.toString().equals(marcasPosteriores.toString())) { msg.append("Marcas:"); msg.append("\n\tAntes: "); msg.append(marcasAnteriores); msg.append("\n\tDepois: "); msg.append(marcasPosteriores); } } catch (Throwable e) { msg.append("ERRO: "); msg.append(e.getMessage()); e.printStackTrace(out); } if (msg.length() > 0) { msg.insert(0, "\n"); msg.insert(0, doc.getCodigo()); msg.insert(0, " - "); msg.insert(0, new SimpleDateFormat("HH:mm:ss").format(new Date())); msg.insert(0, "\n"); out.println(msg); } } if (efetivar) { ExDao.commitTransacao(); //System.gc(); } dao().getSessao().clear(); } while (list.size() > 0); out.println("\n-----------------------------------------------"); out.print(new SimpleDateFormat("HH:mm:ss").format(new Date())); out.println(" - Fim"); out.println("-----------------------------------------------"); //System.gc(); }