List of usage examples for org.hibernate Criteria setResultTransformer
public Criteria setResultTransformer(ResultTransformer resultTransformer);
From source file:br.com.suricattus.surispring.framework.service.GenericRetrieveService.java
License:Open Source License
/** * Retorna a lista de entidades do tipo <T> ordenada pelas propriedades informadas, nesta ordem. * @param <T>// ww w. j a v a 2s .c o m * @param classe * @param sort * @param propertiesName * @return lista de entidades ordadenadas */ @SuppressWarnings("unchecked") public <T> List<T> retrieveAll(Class<T> classe, SearchSort sort, String... propertiesName) { Criteria criteria = getSession().createCriteria(classe); if (SearchSort.ASCENDING.equals(sort)) { for (String property : propertiesName) criteria.addOrder(Order.asc(property)); } else if (SearchSort.DESCENDING.equals(sort)) { for (String property : propertiesName) criteria.addOrder(Order.desc(property)); } return criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); }
From source file:br.com.thiaguten.persistence.spi.provider.hibernate.HibernatePersistenceProvider.java
License:Apache License
/** * {@inheritDoc}//from w ww.j ava2 s .co m */ @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.com.webbudget.domain.model.repository.entries.CardInvoiceRepository.java
License:Open Source License
/** * * @param card/* www . j a va 2s . c om*/ * @param pageRequest * @return */ @Override public Page<CardInvoice> listByCard(Card card, PageRequest pageRequest) { final Criteria criteria = this.createCriteria(); // filtra if (card != null) { criteria.createAlias("card", "ca"); criteria.add(Restrictions.eq("ca.id", card.getId())); } // projetamos para pegar o total de paginas possiveis criteria.setProjection(Projections.count("id")); final Long totalRows = (Long) criteria.uniqueResult(); // limpamos a projection para que a criteria seja reusada criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // paginamos criteria.setFirstResult(pageRequest.getFirstResult()); criteria.setMaxResults(pageRequest.getPageSize()); if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) { criteria.addOrder(Order.asc(pageRequest.getSortField())); } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) { criteria.addOrder(Order.desc(pageRequest.getSortField())); } // montamos o resultado paginado return new Page<>(criteria.list(), totalRows); }
From source file:br.com.webbudget.domain.model.repository.entries.CardRepository.java
License:Open Source License
/** * /*from ww w . j av a2 s . c om*/ * @param isBlocked * @param pageRequest * @return */ @Override public Page<Card> listByStatus(Boolean isBlocked, PageRequest pageRequest) { final Criteria criteria = this.createCriteria(); if (isBlocked != null) { criteria.add(Restrictions.eq("blocked", isBlocked)); } // projetamos para pegar o total de paginas possiveis criteria.setProjection(Projections.count("id")); final Long totalRows = (Long) criteria.uniqueResult(); // limpamos a projection para que a criteria seja reusada criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // paginamos criteria.setFirstResult(pageRequest.getFirstResult()); criteria.setMaxResults(pageRequest.getPageSize()); if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) { criteria.addOrder(Order.asc(pageRequest.getSortField())); } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) { criteria.addOrder(Order.desc(pageRequest.getSortField())); } // montamos o resultado paginado return new Page<>(criteria.list(), totalRows); }
From source file:br.com.webbudget.domain.model.repository.entries.ContactRepository.java
License:Open Source License
/** * * @param filter// w w w . j a v a 2 s.c o m * @param blocked * @param pageRequest * @return */ @Override public Page<Contact> listLazilyByFilter(String filter, Boolean blocked, PageRequest pageRequest) { final Criteria criteria = this.createCriteria(); if (filter != null) { criteria.add(Restrictions.or(Restrictions.ilike("name", "%" + filter + "%"), Restrictions.ilike("email", "%" + filter + "%"), Restrictions.eq("document", filter), Restrictions.ilike("city", "%" + filter + "%"))); } if (blocked != null) { criteria.add(Restrictions.eq("blocked", blocked)); } // projetamos para pegar o total de paginas possiveis criteria.setProjection(Projections.count("id")); final Long totalRows = (Long) criteria.uniqueResult(); // limpamos a projection para que a criteria seja reusada criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // paginamos criteria.setFirstResult(pageRequest.getFirstResult()); criteria.setMaxResults(pageRequest.getPageSize()); if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) { criteria.addOrder(Order.asc(pageRequest.getSortField())); } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) { criteria.addOrder(Order.desc(pageRequest.getSortField())); } // montamos o resultado paginado return new Page<>(criteria.list(), totalRows); }
From source file:br.com.webbudget.domain.model.repository.entries.CostCenterRepository.java
License:Open Source License
/** * /*from w w w . j a v a 2 s. c o m*/ * @param isBlocked * @param pageRequest * @return */ @Override public Page<CostCenter> listLazilyByStatus(Boolean isBlocked, PageRequest pageRequest) { final Criteria criteria = this.createCriteria(); if (isBlocked != null) { criteria.add(Restrictions.eq("blocked", isBlocked)); } // projetamos para pegar o total de paginas possiveis criteria.setProjection(Projections.count("id")); final Long totalRows = (Long) criteria.uniqueResult(); // limpamos a projection para que a criteria seja reusada criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // paginamos criteria.setFirstResult(pageRequest.getFirstResult()); criteria.setMaxResults(pageRequest.getPageSize()); if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) { criteria.addOrder(Order.asc(pageRequest.getSortField())); } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) { criteria.addOrder(Order.desc(pageRequest.getSortField())); } // montamos o resultado paginado return new Page<>(criteria.list(), totalRows); }
From source file:br.com.webbudget.domain.model.repository.entries.MovementClassRepository.java
License:Open Source License
/** * /*w ww . j a v a 2s. c o m*/ * @param isBlocked * @param pageRequest * @return */ @Override public Page<MovementClass> listLazilyByStatus(Boolean isBlocked, PageRequest pageRequest) { final Criteria criteria = this.createCriteria(); if (isBlocked != null) { criteria.add(Restrictions.eq("blocked", isBlocked)); } // projetamos para pegar o total de paginas possiveis criteria.setProjection(Projections.count("id")); final Long totalRows = (Long) criteria.uniqueResult(); // limpamos a projection para que a criteria seja reusada criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // paginamos criteria.setFirstResult(pageRequest.getFirstResult()); criteria.setMaxResults(pageRequest.getPageSize()); if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) { criteria.addOrder(Order.asc(pageRequest.getSortField())); } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) { criteria.addOrder(Order.desc(pageRequest.getSortField())); } // montamos o resultado paginado return new Page<>(criteria.list(), totalRows); }
From source file:br.com.webbudget.domain.model.repository.entries.VehicleRepository.java
License:Open Source License
/** * * @param isBlocked//from w ww. j a v a2 s .c o m * @param pageRequest * @return */ @Override public Page<Vehicle> listLazilyByStatus(Boolean isBlocked, PageRequest pageRequest) { final Criteria criteria = this.createCriteria(); if (isBlocked != null) { criteria.add(Restrictions.eq("blocked", isBlocked)); } // projetamos para pegar o total de paginas possiveis criteria.setProjection(Projections.count("id")); final Long totalRows = (Long) criteria.uniqueResult(); // limpamos a projection para que a criteria seja reusada criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // paginamos criteria.setFirstResult(pageRequest.getFirstResult()); criteria.setMaxResults(pageRequest.getPageSize()); if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) { criteria.addOrder(Order.asc(pageRequest.getSortField())); } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) { criteria.addOrder(Order.desc(pageRequest.getSortField())); } // montamos o resultado paginado return new Page<>(criteria.list(), totalRows); }
From source file:br.com.webbudget.domain.model.repository.entries.WalletRepository.java
License:Open Source License
/** * //from w w w . ja v a 2s . c om * @param isBlocked * @param pageRequest * @return */ @Override public Page<Wallet> listLazilyByStatus(Boolean isBlocked, PageRequest pageRequest) { final Criteria criteria = this.createCriteria(); if (isBlocked != null) { criteria.add(Restrictions.eq("blocked", isBlocked)); } // projetamos para pegar o total de paginas possiveis criteria.setProjection(Projections.count("id")); final Long totalRows = (Long) criteria.uniqueResult(); // limpamos a projection para que a criteria seja reusada criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // paginamos criteria.setFirstResult(pageRequest.getFirstResult()); criteria.setMaxResults(pageRequest.getPageSize()); if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) { criteria.addOrder(Order.asc(pageRequest.getSortField())); } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) { criteria.addOrder(Order.desc(pageRequest.getSortField())); } // montamos o resultado paginado return new Page<>(criteria.list(), totalRows); }
From source file:br.com.webbudget.domain.model.repository.financial.FixedMovementRepository.java
License:Open Source License
/** * * @param filter/* w ww. j a va 2 s .c om*/ * @param pageRequest * @return */ @Override public Page<FixedMovement> listByFilter(String filter, PageRequest pageRequest) { final Criteria criteria = this.createCriteria(); final List<Criterion> criterions = new ArrayList<>(); // filtramos if (filter != null && !filter.isEmpty()) { criterions.add(Restrictions.ilike("description", "%" + filter + "%")); criterions.add(Restrictions.ilike("identification", "%" + filter + "%")); // se conseguir castar para bigdecimal trata como um filtro try { criterions.add(Restrictions.eq("value", new BigDecimal(filter))); } catch (NumberFormatException ex) { } } criteria.add(Restrictions.or(criterions.toArray(new Criterion[] {}))); // projetamos para pegar o total de paginas possiveis criteria.setProjection(Projections.count("id")); final Long totalRows = (Long) criteria.uniqueResult(); // limpamos a projection para que a criteria seja reusada criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // paginamos criteria.setFirstResult(pageRequest.getFirstResult()); criteria.setMaxResults(pageRequest.getPageSize()); if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) { criteria.addOrder(Order.asc(pageRequest.getSortField())); } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) { criteria.addOrder(Order.desc(pageRequest.getSortField())); } // montamos o resultado paginado return new Page<>(criteria.list(), totalRows); }