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:com.gettec.fsnip.fsn.dao.product.impl.ProductDAOImpl.java
@Override public Product checkProduct(Product product) throws ServiceException { Criteria criteria = getSession().createCriteria(Product.class); BusinessUnit businessUnit = product.getProducer(); if (null != businessUnit && !StringUtil.isBlank(businessUnit.getName())) { criteria.createAlias("producer", "producer"); criteria.add(Restrictions.eq("producer.name", businessUnit.getName())); }//from w w w. ja v a 2 s .c o m if (!StringUtil.isBlank(product.getName())) { criteria.add(Restrictions.eq("name", product.getName())); } if (!StringUtil.isBlank(product.getFormat())) { criteria.add(Restrictions.eq("format", product.getFormat())); } criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);// ROOT_ENTITY if (criteria.list().size() > 0) { return (Product) criteria.list().get(0); } return null; }
From source file:com.github.dactiv.orm.core.hibernate.support.BasicHibernateDao.java
License:Apache License
/** * Querydistinct transformer,????distinct? * //from w w w . j a v a2s. c o m * @param queryOrNamedQuery hql HibernateNamedQuery * @param values * * @return List */ public <X> List<X> distinct(String queryOrNamedQuery, Object... values) { Query query = createQuery(queryOrNamedQuery, values); query.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return query.list(); }
From source file:com.github.dactiv.orm.core.hibernate.support.BasicHibernateDao.java
License:Apache License
/** * Querydistinct transformer,????distinct? * /* w ww .j a v a2 s .c o m*/ * @param queryOrNamedQuery hql HibernateNamedQuery * @param values * * @return List */ public <X> List<X> distinct(String queryOrNamedQuery, Map<String, Object> values) { Query query = createQuery(queryOrNamedQuery, values); query.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return query.list(); }
From source file:com.gp.cong.logisoft.hibernate.dao.SedSchedulebDetailsDAO.java
public List findByDr(String fileNo, String trnRef) throws Exception { Criteria criteria = getCurrentSession().createCriteria(SedSchedulebDetails.class); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); if (CommonUtils.isNotEmpty(trnRef)) { criteria.add(Restrictions.eq("trnref", trnRef)); criteria.addOrder(Order.asc("trnref")); return criteria.list(); }//from w w w .j av a 2 s .co m return null; }
From source file:com.hmsinc.epicenter.model.analysis.impl.MaterializedViewAnalysisQueries.java
License:Open Source License
@SuppressWarnings("unchecked") public org.hibernate.Criteria createGetCasesQuery(AnalysisParameters analysisParameters, Long offset, Long numRows) {//from w ww. jav a2s .c o m Validate.notNull(offset, "Offset must be set."); Validate.notNull(numRows, "Number of returned rows must be set."); Validate.notNull(analysisParameters.getDataType(), "Data type must be set."); Class<? extends Interaction> interactionClass = null; for (ClassificationTarget target : analysisParameters.getDataType().getTargets()) { Validate.notNull(target.getInteractionClass(), "Interaction class was null for " + target.toString()); if (interactionClass == null) { interactionClass = target.getInteractionClass(); } else { Validate.isTrue(interactionClass.equals(target.getInteractionClass()), "Inconsistent interaction classes"); } } // Query is a subselect of Interaction based on materialized view. final Class<? extends Serializable> mv = (analysisParameters.getClassifications() == null || analysisParameters.getClassifications().size() == 0 ? AnalysisView.class : ClassifiedAnalysisView.class); final QueryBuilder query = new QueryBuilder().addEntity(mv, "analysis").addProperty("distinct(analysis.id)") .addProperty("analysis.interactionDate").addOrder("analysis.interactionDate asc"); applyAttributes(query, analysisParameters); applyClassifications(query, analysisParameters); // Geography applyGeography(query, analysisParameters.getContainer().getClass(), analysisParameters); disableNestedLoops(entityManager); final Query q = query.toQuery((Session) entityManager.getDelegate(), true); q.setFirstResult(offset.intValue()); q.setMaxResults(numRows.intValue()); final List<Object[]> items = q.list(); final List<Long> interactionList = new ArrayList<Long>(); for (Object[] item : items) { interactionList.add((Long) item[0]); } Criteria ret = null; enableNestedLoops(entityManager); if (interactionList.size() > 0) { // We need to use a ResultTransformer here to avoid duplicate rows. ret = criteriaQuery(entityManager, interactionClass).setFetchMode("classifications", FetchMode.JOIN) .setFetchMode("patient", FetchMode.JOIN).setFetchMode("patientDetail", FetchMode.JOIN) .add(Restrictions.in("id", interactionList)) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); } return ret; }
From source file:com.hmsinc.epicenter.model.workflow.impl.WorkflowRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") public List<Subscription> getSubscriptions(Classification classification, Geography geography) { Validate.notNull(classification, "Classification must be specified."); Validate.notNull(geography, "Geography must be specified."); final Criteria c = criteriaQuery(entityManager, Subscription.class); c.createCriteria("classifications").add(Restrictions.idEq(classification.getId())); c.createCriteria("geographies").add(SpatialRestrictions.contains("geometry", geography.getGeometry())); c.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return c.list(); }
From source file:com.hypersocket.permissions.PermissionRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/* w w w . j a va2 s . com*/ @Transactional(readOnly = true) public Set<Permission> getPrincipalPermissions(Collection<Principal> principals, PermissionType... permissionTypes) { if (principals == null) { return new HashSet<Permission>(); } Criteria crit = createCriteria(Permission.class) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); List<String> list = new ArrayList<String>(); for (PermissionType t : permissionTypes) { list.add(t.getResourceKey()); } if (list.size() > 0) { crit = crit.add(Restrictions.in("resourceKey", list)); } List<Long> ids = new ArrayList<Long>(); for (Principal p : principals) { ids.add(p.getId()); } crit = crit.createCriteria("roles").createCriteria("principals").add(Restrictions.in("id", ids)); return new HashSet<Permission>(crit.list()); }
From source file:com.hypersocket.permissions.PermissionRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/* w ww.j a v a 2s. co m*/ @Transactional(readOnly = true) public Set<Principal> getPrincipalsWithPermissions(PermissionType permission) { Criteria crit = createCriteria(Principal.class) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).createCriteria("roles") .createCriteria("permissions").add(Restrictions.eq("resourceKey", permission.getResourceKey())); return new HashSet<Principal>(crit.list()); }
From source file:com.hypersocket.permissions.PermissionRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from ww w . j a va 2s . c o m*/ @Transactional(readOnly = true) public Set<Role> getRolesWithPermissions(PermissionType permission) { Criteria crit = createCriteria(Role.class).setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY) .createCriteria("permissions").add(Restrictions.eq("resourceKey", permission.getResourceKey())); return new HashSet<Role>(crit.list()); }
From source file:com.hypersocket.permissions.PermissionRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override//from w ww . j a v a 2 s . c om @Transactional(readOnly = true) public Set<Role> getRolesWithPermissions(Permission permission) { Criteria crit = createCriteria(Role.class).setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY) .createCriteria("permissions").add(Restrictions.eq("resourceKey", permission.getResourceKey())); return new HashSet<Role>(crit.list()); }