Refine search
@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(); List<AssignedProductOptionDTO> results = new ArrayList<>(); for (Object o : dtoList) { AssignedProductOptionDTO dto = (AssignedProductOptionDTO) o; if (dto.getSku().isActive()) { results.add(dto); } } return results; }
@Override public String[] getAliases() { final List<String> result = new ArrayList<String>( getLength() ); for ( Projection projection : elements ) { final String[] aliases = projection.getAliases(); Collections.addAll( result, aliases ); } return result.toArray( new String[result.size()] ); }
/** * Create a new projection list. * * @return The projection list */ public static ProjectionList projectionList() { return new ProjectionList(); }
@Override public String[] getColumnAliases(final int loc, Criteria criteria, CriteriaQuery criteriaQuery) { int position = loc; final List<String> result = new ArrayList<String>( getLength() ); for ( Projection projection : elements ) { final String[] aliases = getColumnAliases( position, criteria, criteriaQuery, projection ); Collections.addAll( result, aliases ); position += aliases.length; } return result.toArray( new String[result.size()] ); }
public Map getStateCounts(final Collection ids) { HibernateSession hibernateSession = new HibernateSession(); Session session = hibernateSession.getSession(); Criteria criteria = session.createCriteria(DownloadRequestEntity.class) .add(Restrictions.in("id", ids)); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty("state")); projectionList.add(Projections.rowCount()); criteria.setProjection(projectionList); List results = criteria.list(); Map stateMap = new HashMap(); for (Object[] obj : results) { DownloadState downloadState = (DownloadState) obj[0]; stateMap.put(downloadState.getDescription().toLowerCase() (Integer) obj[1]); } hibernateSession.closeSession(); return stateMap; }
List<Object[]> result = session.createCriteria( Category.class, "c" ).createAlias( "products", "p" ) .setProjection( Projections.projectionList() .add( Projections.groupProperty( "c.id" ) ) .add( Projections.countDistinct( "p.id" ) ) .addOrder( Order.asc( "c.id" ) ) .setFirstResult( 1 ).setMaxResults( 3 ).list();
Transaction t = s.beginTransaction(); List resultList = s.createCriteria( Enrolment.class ) .setCacheable( isCacheableQuery ) .setFetchMode( "student", FetchMode.JOIN ) .setProjection( Projections.projectionList() .add( Property.forName( "student" ), "student" ) .add( Property.forName( "semester" ), "semester" ) .add( Property.forName( "year" ), "year" ) .add( Property.forName( "course" ), "course" ) .addOrder( Order.asc( "studentNumber") )
protected Criteria getCriteria(Session s) { // should use PassThroughTransformer by default return s.createCriteria( Enrolment.class, "e" ) .setProjection( Projections.projectionList() .add( Property.forName( "e.student" ) ) .add( Property.forName( "e.semester" ) ) .add( Property.forName( "e.year" ) ) .add( Property.forName( "e.course" ) ) ) .addOrder( Order.asc( "e.studentNumber") ); } };
session = (Session) getEntityManager().getDelegate(); Criteria criteria = session.createCriteria(ComputedProdDaily.class); ProjectionList projList = Projections.projectionList(); projList.add(Projections.property("user.id"), "userid"); projList.add(Projections.property("loanState"), "state"); criteria.setProjection(Projections.distinct(projList)); criteria.add(Restrictions.isNotNull("this.loanState")); criteria.setResultTransformer(Transformers.aliasToBean(UserStateTransformer.class));
@Override @SuppressWarnings("unchecked") public <T, V> List<V> getPropertyValuesCachedDistinct(final Class<T> clazz, final QueryParameter qp, final T filter, final String propName, final Class<V> returnClass) { final ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.distinct(Projections.property(propName))); final Criteria criteria = getCriteria(clazz, qp, filter, false).setProjection(projectionList) .setCacheable(true); return criteria.list(); }
protected Criteria getCriteria(Session s) { // should use PassThroughTransformer by default return s.createCriteria( Enrolment.class ) .setProjection( Projections.projectionList() .add( Property.forName( "student" ) ) .add( Property.forName( "semester" ) ) .add( Property.forName( "year" ) ) .add( Property.forName( "course" ) ) ) .add( Restrictions.eq( "studentNumber", Long.valueOf( shermanEnrolmentExpected.getStudentNumber() ) ) ); } };
public List<ProteinImpl> getByUniprotId( String uniprotId ) { return getSession().createCriteria( getEntityClass() ) .createAlias( "xrefs", "xref" ) .createAlias( "xref.cvXrefQualifier", "qual" ) .createAlias( "xref.cvDatabase", "database" ) .createCriteria( "qual.xrefs", "qualXref" ) .createCriteria( "database.xrefs", "dbXref" ) .add( Restrictions.eq( "qualXref.primaryId", CvXrefQualifier.IDENTITY_MI_REF ) ) .add( Restrictions.eq( "dbXref.primaryId", CvDatabase.UNIPROT_MI_REF ) ) .add( Restrictions.eq( "xref.primaryId", uniprotId ) ).list(); }
private T getDataValueAt(Date timestamp, String column, DatasetEntity series) { LOGGER.debug("get instances @{} for '{}'", timestamp, series.getPkid()); Criteria criteria = getDefaultCriteria() .add(Restrictions.eq(COLUMN_SERIES_PKID, series.getPkid())) .add(Restrictions.eq(column, timestamp)); DetachedCriteria filter = forClass(DatasetEntity.class) .setProjection(projectionList().add(property("pkid"))); criteria.add(Subqueries.propertyIn(COLUMN_SERIES_PKID, filter)); return (T) criteria.uniqueResult(); }
Criteria criteria=session.createCriteria(BizTerm.class); criteria.add(Restrictions.ilike("bizTermName", searchString,MatchMode.ANYWHERE)); criteria.addOrder(Order.asc("bizTermName")); ProjectionList projList=Projections.projectionList(); projList.add(Projections.max("bizTermversion")); projList.add(Projections.groupProperty("bizTermId")); projList.add(Projections.groupProperty("bizTermName")); projList.add(Projections.max("status")); projList.add(Projections.max("levels")); projList.add(Projections.max("createDate")); projList.add(Projections.max("modifyDate"));
protected Criteria getCriteria(Session s) { return s.createCriteria( Enrolment.class ) .setProjection( Projections.projectionList() .add( Projections.min( "studentNumber" ).as( "minStudentNumber" ) ) .add( Projections.max( "studentNumber" ).as( "maxStudentNumber" ) ) ); } };
Criteria crit = session.createCriteria(People.class) .add(Restrictions.eq("id", 3); ProjectionList projectList = Projections.projectionList(); projectList.add(Projections.property("name")); crit.setProjection(projectList); (String) crit.uniqueResult();
protected Criteria getCriteria(Session s) { return s.createCriteria( Enrolment.class ) .setProjection( Projections.projectionList() .add( Projections.min( "studentNumber" ).as( "minStudentNumber" ) ) .add( Projections.max( "studentNumber" ).as( "maxStudentNumber" ) ) ) .setResultTransformer( Transformers.ALIAS_TO_ENTITY_MAP ); } };
/** * Adds a projection to this list of projections after wrapping it with an alias * * @param projection The projection to add * @param alias The alias to apply to the projection * * @return {@code this}, for method chaining * * @see Projections#alias */ public ProjectionList add(Projection projection, String alias) { return add( Projections.alias( projection, alias ) ); }
public Type[] getTypes(String alias, Criteria criteria, CriteriaQuery criteriaQuery) { for ( int i=0; i<getLength(); i++ ) { Type[] result = getProjection(i).getTypes(alias, criteria, criteriaQuery); if (result!=null) return result; } return null; }
ProjectionList projList = new ProjectionList(); projList.add(Projections.property("id.state")); projList.add(Projections.property("id.uspsCity")) criteria.setProjection(Projections.distinct(projList));