Package org.hibernate.criterion

Examples of org.hibernate.criterion.Disjunction


        return filterDisjunction;
    }

    private Criterion withoutPricingTemplate()
    {
        Disjunction filterDisjunction = Restrictions.disjunction();
        filterDisjunction.add(Restrictions.isNull(Enterprise.PRICING_PROPERTY));

        return filterDisjunction;
    }
View Full Code Here


        return filterDisjunction;
    }

    private Criterion filterBy(final String filter)
    {
        Disjunction filterDisjunction = Restrictions.disjunction();

        filterDisjunction.add(Restrictions.like(Role.NAME_PROPERTY, '%' + filter + '%'));

        return filterDisjunction;
    }
View Full Code Here

        return Restrictions.in(User.ENTERPRISE_PROPERTY, enterprises);
    }

    private Criterion filterBy(final String filter)
    {
        Disjunction filterDisjunction = Restrictions.disjunction();

        filterDisjunction.add(Restrictions.like(User.NAME_PROPERTY, '%' + filter + '%'));
        filterDisjunction.add(Restrictions.like(User.SURNAME_PROPERTY, '%' + filter + '%'));
        filterDisjunction.add(Restrictions.like(User.EMAIL_PROPERTY, '%' + filter + '%'));
        filterDisjunction.add(Restrictions.like(User.NICK_PROPERTY, '%' + filter + '%'));

        return filterDisjunction;
    }
View Full Code Here

    ArrayList<Price> ret = new ArrayList<Price>();
    Session session = this.getSessionFactory().getCurrentSession();
   
    Criteria criteria = session.createCriteria(super.getType().getClass());
    criteria.add(Expression.eq("typology_id", typology.getId()));
    Disjunction disjunction = Expression.disjunction();
    disjunction.add(Expression.between("calendarDate", startDate, endDate));
    criteria.add(disjunction);
    ret = (ArrayList<Price>)criteria.list()
    return ret;
  }
View Full Code Here

    Criteria criteria = session.createCriteria(super.getType().getClass());
    for (String key : (Collection<String>)toSearch.keySet()) {
      criteria.add(Expression.eq(key, toSearch.get(key)));     
    }
   
    Disjunction disjunction = Expression.disjunction();
    disjunction.add(Expression.between("beginDate", beginDate, finishDate));
    disjunction.add(Expression.between("finishDate", beginDate, finishDate));
    disjunction.add(Expression.and(Expression.le("beginDate", beginDate),
        Expression.ge("finishDate",finishDate)));
    criteria.add(disjunction);
    bookings = criteria.list();
      for (Booking booking : bookings){
     
View Full Code Here

    Set<Class<?>> indexedEntities = searchFactoryImplementor.getIndexedTypesPolymorphic( new Class<?>[] { entityType } );
    DocumentBuilderIndexedEntity<?> builder = searchFactoryImplementor.getDocumentBuilderIndexedEntity(
        indexedEntities.iterator().next()
    );
    String idName = builder.getIdentifierName();
    Disjunction disjunction = Restrictions.disjunction();

    int loop = maxResults / MAX_IN_CLAUSE;
    boolean exact = maxResults % MAX_IN_CLAUSE == 0;
    if ( !exact ) {
      loop++;
    }
    for ( int index = 0; index < loop; index++ ) {
      int max = index * MAX_IN_CLAUSE + MAX_IN_CLAUSE <= maxResults ?
          index * MAX_IN_CLAUSE + MAX_IN_CLAUSE :
          maxResults;
      List<Serializable> ids = new ArrayList<Serializable>( max - index * MAX_IN_CLAUSE );
      for ( int entityInfoIndex = index * MAX_IN_CLAUSE; entityInfoIndex < max; entityInfoIndex++ ) {
        ids.add( entityInfos[entityInfoIndex].id );
      }
      disjunction.add( Restrictions.in( idName, ids ) );
    }
    criteria.add( disjunction );
    criteria.list(); //load all objects
  }
View Full Code Here

        List ids = new ArrayList<SomeEntityId>(2);
        ids.add( new SomeEntityId(1,12) );
        ids.add( new SomeEntityId(10,23) );

        Criteria criteria = s.createCriteria( SomeEntity.class );
        Disjunction disjunction = Restrictions.disjunction();

        disjunction.add( Restrictions.in( "id", ids  ) );
        criteria.add( disjunction );

        List list = criteria.list();
        assertEquals( 2, list.size() );
    transaction.rollback();
View Full Code Here

    DocumentBuilder builder = searchFactoryImplementor.getDocumentBuilders().get( entityType );
    String idName = builder.getIdentifierName();
    int loop = maxResults / MAX_IN_CLAUSE;
    boolean exact = maxResults % MAX_IN_CLAUSE == 0;
    if ( !exact ) loop++;
    Disjunction disjunction = Restrictions.disjunction();
    for (int index = 0; index < loop; index++) {
      int max = index * MAX_IN_CLAUSE + MAX_IN_CLAUSE <= maxResults ?
          index * MAX_IN_CLAUSE + MAX_IN_CLAUSE :
          maxResults;
      List ids = new ArrayList( max - index * MAX_IN_CLAUSE );
      for (int entityInfoIndex = index * MAX_IN_CLAUSE; entityInfoIndex < max; entityInfoIndex++) {
        ids.add( entityInfos[entityInfoIndex].id );
      }
      disjunction.add( Restrictions.in( idName, ids ) );
    }
    criteria.add( disjunction );
    criteria.list(); //load all objects

    //mandatory to keep the same ordering
View Full Code Here

                Criterion criterion = buildCriterion(filter.getPropertyName(),
                        filter.getMatchValue(), filter.getMatchType());
                criterionList.add(criterion);
            } else {
                // 包含多个属性需要比较的情况,进行or处理.
                Disjunction disjunction = Restrictions.disjunction();

                for (String param : filter.getPropertyNames()) {
                    Criterion criterion = buildCriterion(param,
                            filter.getMatchValue(), filter.getMatchType());
                    disjunction.add(criterion);
                }

                criterionList.add(disjunction);
            }
        }
View Full Code Here

    Criteria processCrit = crit.createCriteria("process");

    // Filtering on PID
    List<String> pids = filter.getPidFilter();
    if (pids != null && pids.size() > 0) {
        Disjunction disj = Restrictions.disjunction();
        for (String pid: pids) {
            if( !filter.arePidsNegative() ) {
                disj.add(Restrictions.eq("processId", pid));
            } else {
                disj.add(Restrictions.ne("processId", pid));
            }
        }
        processCrit.add(disj);
    }

    List<String> iids = filter.getIidFilter();
    if (iids != null && iids.size() > 0) {
        Disjunction disj = Restrictions.disjunction();
        for (String iid: iids) {
            disj.add(Restrictions.eq("id", new Long(iid)));
        }
        crit.add(disj);
    }

    // Filtering on name and namespace
    if (filter.getNameFilter() != null) {
      processCrit.add(Restrictions.like("typeName", filter.getNameFilter().replaceAll("\\*", "%")));
    }
    if (filter.getNamespaceFilter() != null) {
      processCrit.add(Restrictions.like("typeNamespace", filter.getNamespaceFilter().replaceAll("\\*", "%")));
    }

    // Specific filter for status (using a disjunction between possible statuses)
    if (filter.getStatusFilter() != null) {
      List<Short> statuses = filter.convertFilterState();
      Disjunction disj = Restrictions.disjunction();
      for (short status : statuses) {
        disj.add(Restrictions.eq("state", status));
      }
      crit.add(disj);
    }

    // Specific filter for started and last active dates.
View Full Code Here

TOP

Related Classes of org.hibernate.criterion.Disjunction

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.