List of usage examples for org.hibernate.criterion Projections distinct
public static Projection distinct(Projection projection)
From source file:org.bpmscript.journal.hibernate.HibernateContinuationJournal.java
License:Apache License
/** * Selects all branches for associated with a pid. * /* w w w .j ava2s .c o m*/ * @see org.bpmscript.journal.IContinuationJournal#getBranchesForPid(java.lang.String) */ @SuppressWarnings("unchecked") public Collection<String> getBranchesForPid(final String pid) { return getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(HibernateContinuationJournalEntry.class); criteria.setProjection(Projections.distinct(Projections.property("branch"))); criteria.add(Expression.eq("instanceId", pid)); return criteria.list(); } }); }
From source file:org.broadleafcommerce.core.catalog.dao.ProductOptionDaoImpl.java
License:Apache License
@Override public List<AssignedProductOptionDTO> findAssignedProductOptionsByProductId(Long productId) { Session session = em.unwrap(Session.class); Criteria criteria = session.createCriteria(SkuProductOptionValueXrefImpl.class); List dtoList = criteria.createAlias("sku", "sku").createAlias("sku.product", "product") .createAlias("productOptionValue", "productOptionValue") .createAlias("productOptionValue.productOption", "productOption") .setProjection(Projections .distinct(Projections.projectionList().add(Projections.property("product.id"), "productId") .add(Projections.property("productOption.attributeName"), "productOptionAttrName") .add(Projections.property("productOptionValue"), "productOptionValue") .add(Projections.property("sku"), "sku"))) .setResultTransformer(Transformers.aliasToBean(AssignedProductOptionDTO.class)) .add(Restrictions.eq("product.id", productId)).addOrder(Order.asc("productOption.attributeName")) .list();/*from w w w. j av a 2 s. c om*/ List<AssignedProductOptionDTO> results = new ArrayList<AssignedProductOptionDTO>(); for (Object o : dtoList) { AssignedProductOptionDTO dto = (AssignedProductOptionDTO) o; if (dto.getSku().isActive()) { results.add(dto); } } return results; }
From source file:org.candlepin.model.OwnerCurator.java
License:Open Source License
/** * Note that this query looks up only provided products. * @param productIds//www . j av a2 s . c o m * @return a list of owners */ public List<Owner> lookupOwnersByActiveProduct(List<String> productIds) { // NOTE: only used by superadmin API calls, no permissions filtering needed here. DetachedCriteria poolIdQuery = DetachedCriteria.forClass(ProvidedProduct.class, "pp"); poolIdQuery.add(Restrictions.in("pp.productId", productIds)).setProjection(Property.forName("pp.pool.id")); DetachedCriteria ownerIdQuery = DetachedCriteria.forClass(Entitlement.class, "e") .add(Subqueries.propertyIn("e.pool.id", poolIdQuery)).createCriteria("pool") .add(Restrictions.gt("endDate", new Date())).setProjection(Property.forName("e.owner.id")); DetachedCriteria distinctQuery = DetachedCriteria.forClass(Owner.class, "o2") .add(Subqueries.propertyIn("o2.id", ownerIdQuery)) .setProjection(Projections.distinct(Projections.property("o2.key"))); return currentSession().createCriteria(Owner.class, "o").add(Subqueries.propertyIn("o.key", distinctQuery)) .list(); }
From source file:org.cast.cwm.service.CwmService.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public List<String> getInitializationNames() { Criteria criteria = Databinder.getHibernateSession().createCriteria(Initialization.class); criteria.setProjection(Projections.distinct(Projections.property("name"))); return criteria.list(); }
From source file:org.egov.pims.commons.service.PositionService.java
License:Open Source License
/** * gives vacant positions for given date range and designation * @param fromDate//from www.ja va 2s . c o m * @param toDate * @param designationMasterId * @return */ public Criteria getVacantPositionCriteria(Date fromDate, Date toDate, Integer designationMasterId) { DetachedCriteria detachAssignmentPrd = DetachedCriteria.forClass(Assignment.class, "assignment"); detachAssignmentPrd .add(Restrictions.and(Restrictions.le("assignment.fromDate", fromDate), Restrictions.or(Restrictions.ge("assignment.toDate", toDate), Restrictions.isNull("assignment.toDate")))) .setProjection(Projections.property("assignment.id")); DetachedCriteria detachAssignment = DetachedCriteria.forClass(Assignment.class, "assignment"); detachAssignment.add(Subqueries.propertyIn("assignment.id", detachAssignmentPrd)); detachAssignment.add(Restrictions.eq("assignment.isPrimary", 'Y')); detachAssignment.setProjection(Projections.distinct(Projections.property("assignment.position.id"))); Criteria criteria = getCurrentSession().createCriteria(Position.class, "position"); if (designationMasterId != null && !designationMasterId.equals("0")) { criteria.add(Restrictions.eq("position.deptDesig.designation.id", designationMasterId)); } criteria.add(Subqueries.propertyNotIn("position.id", detachAssignment)); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); criteria.addOrder(Order.asc("position.name")); return criteria; }
From source file:org.egov.services.budget.BudgetDetailService.java
License:Open Source License
public Set<Budget> findBudgetTree(final Budget budget, final BudgetDetail example) { if (budget == null) return Collections.EMPTY_SET; final Criteria budgetDetailCriteria = constructCriteria(example); budgetDetailCriteria.createCriteria(Constants.BUDGET); final List<Budget> leafBudgets = budgetDetailCriteria .setProjection(Projections.distinct(Projections.property(Constants.BUDGET))).list(); final List<Budget> parents = new ArrayList<Budget>(); final Set<Budget> budgetTree = new LinkedHashSet<Budget>(); for (Budget leaf : leafBudgets) { parents.clear();//from w ww . ja v a 2 s. c o m while (leaf != null && leaf.getId() != budget.getId()) { parents.add(leaf); leaf = leaf.getParent(); } if (leaf != null) { parents.add(leaf); budgetTree.addAll(parents); } } return budgetTree; }
From source file:org.egov.services.budget.BudgetDetailService.java
License:Open Source License
public List<BudgetDetail> getDepartmentFromBudgetDetailByFundId(final Integer fundId) { final Criteria criteria = getSession().createCriteria(BudgetDetail.class); return criteria.add(Restrictions.eq("fund.id", fundId)) .setProjection(Projections.distinct(Projections.property("executingDepartment"))) .addOrder(Order.asc("executingDepartment")).list(); }
From source file:org.egov.services.budget.BudgetDetailService.java
License:Open Source License
public List<BudgetDetail> getFunctionFromBudgetDetailByDepartmentId(final Long departmentId) { final Criteria criteria = getSession().createCriteria(BudgetDetail.class); return criteria.add(Restrictions.eq("executingDepartment.id", departmentId)) .setProjection(Projections.distinct(Projections.property("function"))) .addOrder(Order.asc("function")).list(); }
From source file:org.egov.services.budget.BudgetDetailService.java
License:Open Source License
public List<BudgetDetail> getBudgetDetailByFunctionId(final Long functionId) { final Criteria criteria = getSession().createCriteria(BudgetDetail.class); return criteria.add(Restrictions.eq("function.id", functionId)) .setProjection(Projections.distinct(Projections.property("budgetGroup"))) .addOrder(Order.asc("budgetGroup")).list(); }
From source file:org.egov.services.report.ReportService.java
License:Open Source License
public List<Fund> getFunds() { final Criteria voucherHeaderCriteria = persistenceService.getSession().createCriteria(CVoucherHeader.class); final List fundIdList = voucherHeaderCriteria .setProjection(Projections.distinct(Projections.property("fundId.id"))).list(); if (!fundIdList.isEmpty()) return persistenceService.getSession().createCriteria(Fund.class).add(Restrictions.in("id", fundIdList)) .list();//from w w w . j a v a 2 s . com return new ArrayList<Fund>(); }