Example usage for org.hibernate.criterion Restrictions ilike

List of usage examples for org.hibernate.criterion Restrictions ilike

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions ilike.

Prototype

public static Criterion ilike(String propertyName, Object value) 

Source Link

Document

A case-insensitive "like" (similar to Postgres ilike operator)

Usage

From source file:com.creativity.repository.Fichas.java

public List<Ficha> filtrados(FichaFilter filtro) {
    String nome = null;/* w  ww  .  j  av a 2  s.  c o m*/

    UsuarioSistema usuarioLogado = getUsuarioLogado();

    if (usuarioLogado != null) {
        nome = usuarioLogado.getUsuario().getNome();

    }

    Session session = this.manager.unwrap(Session.class);

    Criteria criteria = session.createCriteria(Ficha.class)
            // fazemos uma associao (join) com cliente e nomeamos como "c"

            // fazemos uma associao (join) com vendedor e nomeamos como "v"
            .createAlias("gestor", "v");

    if (filtro.getNumeroDe() != null) {
        // id deve ser maior ou igual (ge = greater or equals) a filtro.numeroDe
        criteria.add(Restrictions.ge("id", filtro.getNumeroDe()));
    }

    if (filtro.getNumeroAte() != null) {
        // id deve ser menor ou igual (le = lower or equal) a filtro.numeroDe
        criteria.add(Restrictions.le("id", filtro.getNumeroAte()));
    }

    if (filtro.getDataCriacaoDe() != null) {
        criteria.add(Restrictions.ge("dataCriacao", filtro.getDataCriacaoDe()));
    }

    if (filtro.getDataCriacaoAte() != null) {
        criteria.add(Restrictions.le("dataCriacao", filtro.getDataCriacaoAte()));
    }

    if (filtro.getDataAprovacaoDe() != null) {
        criteria.add(Restrictions.ge("dataAprovacao", filtro.getDataAprovacaoDe()));
    }

    if (filtro.getDataAprovacaoAte() != null) {
        criteria.add(Restrictions.le("dataAprovacao", filtro.getDataAprovacaoAte()));
    }

    if (StringUtils.isNotBlank(filtro.getCpf())) {
        criteria.add(Restrictions.ilike("cpf", filtro.getCpf()));
    }

    if (StringUtils.isNotBlank(filtro.getCnpj())) {
        criteria.add(Restrictions.ilike("cnpj", filtro.getCnpj()));
    }

    if (StringUtils.isNotBlank(nome)) {
        // acessamos o nome do vendedor associado ao pedido pelo alias "v", criado anteriormente
        criteria.add(Restrictions.ilike("v.nome", nome, MatchMode.ANYWHERE));
    }
    if (StringUtils.isNotBlank(filtro.getNomeCliente())) {
        criteria.add(Restrictions.ilike("nomeRazao", filtro.getNomeCliente(), MatchMode.ANYWHERE));
    }

    /* if (StringUtils.isNotBlank(filtro.getNomeVendedor())) {
    // acessamos o nome do vendedor associado ao pedido pelo alias "v", criado anteriormente
    criteria.add(Restrictions.ilike("v.nome", filtro.getNomeVendedor(), MatchMode.ANYWHERE));
    }*/
    if (filtro.getStatuses() != null && filtro.getStatuses().length > 0) {
        // adicionamos uma restrio "in", passando um array de constantes da enum StatusPedido
        criteria.add(Restrictions.in("statusFicha", filtro.getStatuses()));
    }

    return criteria.addOrder(Order.asc("id")).list();
}

From source file:com.daro.persistence.generic.dao.GenericDaoImpl.java

License:GNU General Public License

/**
 * Search a entity list of T (clazz type) using a map with criteria.
 * The parameter map is a collection of pairs (field name and value).
 * //from   ww  w  .  j  a va 2s .  c  om
 * @param parameterMap
 * @return List<T>
 * @throws PersistenceException
 */
@SuppressWarnings("unchecked")
@Override
public List<T> search(Map<String, Object> parameterMap) throws PersistenceException {
    //logger.debug(clazz.getSimpleName() + " ######### SEARCH ##################" );
    List<T> lst = null;
    //try{
    Session session = this.getCurrentSession();
    if (this.sessionFactory.isClosed()) {
        logger.debug("Session Factory is Closed!");
    }
    //org.hibernate.HibernateException: No Session found for current thread
    //session.getTransaction().begin();
    Criteria criteria = session.createCriteria(clazz);
    Set<String> fieldName = parameterMap.keySet();
    for (String field : fieldName) {
        criteria.add(Restrictions.ilike(field, parameterMap.get(field)));
    }
    lst = (List<T>) criteria.list();

    if (loggerInfoEnabled && !(lst.isEmpty())) {
        logger.debug("Persistence layer info: " + clazz.getSimpleName() + " search successfully,  list size="
                + lst.size());
        for (T elem : lst) {
            logger.debug("Persistence layer info: " + clazz.getSimpleName() + " List::" + elem);
        }
    }
    //session.getTransaction().commit();
    /*} catch (Exception e) {
    //throw new BookStoreDAORuntimeException(e.getMessage(), e);
       logger.error(e.getStackTrace());
    }*/
    return lst;
}

From source file:com.ephesoft.dcma.core.dao.hibernate.HibernateDao.java

License:Open Source License

private void updateFilterCriteria(EphesoftCriteria criteria,
        DataFilter<? extends DomainProperty>... dataFilters) {
    if (dataFilters == null) {
        return;//from   w  ww .j a  va 2  s .  com
    }
    for (DataFilter<? extends DomainProperty> dataFilter : dataFilters) {
        String property = dataFilter.getNameProperty().getProperty();
        String alias = criteria.getAlias(property, true);
        if (alias == null) {
            criteria.createAlias(property, true);
            alias = criteria.getAlias(property, true);
        }
        if (dataFilter.isLike()) {
            criteria.add(Restrictions.ilike(alias, dataFilter.getValueProperty()));
        } else {
            criteria.add(Restrictions.eq(alias, dataFilter.getValueProperty()));
        }
    }
}

From source file:com.eucalyptus.autoscaling.common.internal.groups.PersistenceAutoScalingGroups.java

License:Open Source License

@Override
public <T> List<T> listRequiringMonitoring(final Set<MonitoringSelector> selectors,
        final Function<? super AutoScalingGroup, T> transform) throws AutoScalingMetadataException {
    final Collection<String> suffixes = selectors.stream()
            .flatMap(FUtils.chain(MonitoringSelector::suffixes, Collection::stream))
            .collect(Collectors.toSet());

    final Junction likeAnyOf = Restrictions.disjunction();
    for (final String suffix : suffixes) {
        likeAnyOf.add(Restrictions.ilike("id", "%" + suffix));
    }/*w  w w  .  ja  v a2s .com*/

    return persistenceSupport.listByExample(AutoScalingGroup.withOwner(null), Predicates.alwaysTrue(),
            likeAnyOf, Collections.<String, String>emptyMap(), transform);
}

From source file:com.eucalyptus.autoscaling.groups.PersistenceAutoScalingGroups.java

License:Open Source License

@Override
public <T> List<T> listRequiringMonitoring(final long interval,
        final Function<? super AutoScalingGroup, T> transform) throws AutoScalingMetadataException {
    // We want to select some groups depending on the interval / time 
    int group = (int) ((System.currentTimeMillis() / interval) % 6);

    final Collection<String> suffixes = Lists.newArrayList();
    switch (group) {
    case 0://from w  w w .j  a  v  a  2s .c o  m
        suffixes.add("0");
        suffixes.add("1");
        suffixes.add("2");
        break;
    case 1:
        suffixes.add("3");
        suffixes.add("4");
        suffixes.add("5");
        break;
    case 2:
        suffixes.add("6");
        suffixes.add("7");
        suffixes.add("8");
        break;
    case 3:
        suffixes.add("9");
        suffixes.add("a");
        suffixes.add("b");
        break;
    case 4:
        suffixes.add("c");
        suffixes.add("d");
        break;
    default:
        suffixes.add("e");
        suffixes.add("f");
        break;
    }

    final Junction likeAnyOf = Restrictions.disjunction();
    for (final String suffix : suffixes) {
        likeAnyOf.add(Restrictions.ilike("id", "%" + suffix));
    }

    return persistenceSupport.listByExample(AutoScalingGroup.withOwner(null), Predicates.alwaysTrue(),
            likeAnyOf, Collections.<String, String>emptyMap(), transform);
}

From source file:com.examples.hql.CriteriaQueriesExamples.java

public static void main(String[] args) {

    SessionFactory sf = HibernateUtil.getSessionFactory();
    Session session = sf.openSession();/*from  ww  w  . ja va2 s.c  om*/

    try {

        Criteria cr = session.createCriteria(PurchaseOrderHeader.class);

        Criterion c = Restrictions.ilike("ponumber", "PO%");

        cr.addOrder(Order.asc("orderValue"));

        cr.add(c);

        List<PurchaseOrderHeader> listPOH = cr.list();

        for (PurchaseOrderHeader poh : listPOH) {

            System.out.println(poh.getPoheaderId() + " | " + poh.getPonumber() + " | " + poh.getPodate() + " | "
                    + poh.getOrderValue());
        }
        System.out.println("----------***********-------------");

        session.close();

        sf.close();

    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

From source file:com.gisgraphy.domain.repository.OpenStreetMapDao.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<StreetDistance> getNearestAndDistanceFrom(final Point point, final double distance,
        final int firstResult, final int maxResults, final StreetType streetType, final Boolean oneWay,
        final String name, final StreetSearchMode streetSearchMode, final boolean includeDistanceField) {
    if (streetSearchMode == StreetSearchMode.FULLTEXT && !GisgraphyConfig.STREET_SEARCH_FULLTEXT_MODE) {
        throw new GisgraphyException(
                "The fulltext mode has been removed in gisgraphy v 3.0 and has been replaced by fulltext webservice with placetype=street. please Consult user guide.");
    }/*from   w  w  w  . j a  va  2 s. c  o  m*/
    if (name != null && streetSearchMode == null) {
        throw new IllegalArgumentException("streetSearchmode can not be null if name is provided");
    }
    if (point == null && streetSearchMode == StreetSearchMode.CONTAINS) {
        throw new IllegalArgumentException(
                "you must specify lat/lng when streetsearchmode = " + StreetSearchMode.CONTAINS);
    }
    return (List<StreetDistance>) this.getHibernateTemplate().execute(new HibernateCallback() {

        public Object doInHibernate(Session session) throws PersistenceException {
            Criteria criteria = session.createCriteria(OpenStreetMap.class);

            List<String> fieldList = IntrospectionHelper.getFieldsAsList(OpenStreetMap.class);

            ProjectionList projections = ProjectionBean.fieldList(fieldList, false);
            if (includeDistanceField && point != null) {
                projections.add(
                        //            SpatialProjection.distance_sphere(point, GisFeature.LOCATION_COLUMN_NAME).as(
                        //               "distance"));
                        SpatialProjection.distance_pointToLine(point, OpenStreetMap.SHAPE_COLUMN_NAME)
                                .as("distance"));
            }
            criteria.setProjection(projections);
            if (includeDistanceField && point != null) {
                criteria.addOrder(new ProjectionOrder("distance"));
            }
            if (maxResults > 0) {
                criteria = criteria.setMaxResults(maxResults);
            }
            if (firstResult >= 1) {
                criteria = criteria.setFirstResult(firstResult - 1);
            }
            if (point != null) {
                Polygon polygonBox = GeolocHelper.createPolygonBox(point.getX(), point.getY(), distance);
                criteria = criteria.add(new IntersectsRestriction(OpenStreetMap.SHAPE_COLUMN_NAME, polygonBox));
            }
            if (name != null) {
                if (streetSearchMode == StreetSearchMode.CONTAINS) {
                    criteria = criteria.add(Restrictions.isNotNull("name"));//optimisation!
                    criteria = criteria.add(
                            Restrictions.ilike(OpenStreetMap.FULLTEXTSEARCH_PROPERTY_NAME, "%" + name + "%"));
                    //criteria = criteria.add(new PartialWordSearchRestriction(OpenStreetMap.PARTIALSEARCH_VECTOR_COLUMN_NAME, name));
                } else if (streetSearchMode == StreetSearchMode.FULLTEXT) {
                    criteria = criteria.add(
                            new FulltextRestriction(OpenStreetMap.FULLTEXTSEARCH_VECTOR_PROPERTY_NAME, name));
                } else {
                    throw new NotImplementedException(
                            streetSearchMode + " is not implemented for street search");
                }
            }
            if (streetType != null) {
                criteria = criteria.add(Restrictions.eq("streetType", streetType));
            }
            if (oneWay != null) {
                criteria = criteria.add(Restrictions.eq("oneWay", oneWay));
            }
            criteria.setCacheable(true);
            // List<Object[]> queryResults =testCriteria.list();
            List<?> queryResults = criteria.list();

            if (queryResults != null && queryResults.size() != 0) {
                String[] propertiesNameArray;
                if (includeDistanceField && point != null) {
                    propertiesNameArray = (String[]) ArrayUtils
                            .add(IntrospectionHelper.getFieldsAsArray(OpenStreetMap.class), "distance");
                } else {
                    propertiesNameArray = IntrospectionHelper.getFieldsAsArray(OpenStreetMap.class);
                }
                List<StreetDistance> results = ResultTransformerUtil
                        .transformToStreetDistance(propertiesNameArray, queryResults);
                return results;
            } else {
                return new ArrayList<StreetDistance>();
            }

        }
    });
}

From source file:com.globalsight.everest.usermgr.UserManagerLocal.java

License:Apache License

/**
 * Get users matched the specified criteria
 * /* ww w. j ava2 s.  c  o  m*/
 * @param p_userAttrs
 *            - Arrtibute array contains the User entry attributes
 * @param p_roleAttrs
 *            - Attribute array contains the Role entry attributes
 * @param p_project
 * @return a Vector of User objects
 * @exception UserManagerException
 *                - Component related exception.
 * @exception java.rmi.RemoteException
 *                - Network related exception.
 */
public Vector getUsers(UserSearchParams p_searchParams, Project p_project)
        throws RemoteException, UserManagerException {
    Session session = HibernateUtil.getSession();

    boolean filterUser = false;
    Vector<UserImpl> us = new Vector<UserImpl>();

    Criteria c = session.createCriteria(UserImpl.class);
    String userId = p_searchParams.getIdName();
    if (userId != null && userId.length() > 0) {
        filterUser = true;
        c.add(Restrictions.or(Restrictions.ilike("userId", "%" + userId + "%"),
                Restrictions.ilike("userName", "%" + userId + "%")));
    }

    String firstName = p_searchParams.getFirstName();
    if (firstName != null && firstName.length() > 0) {
        filterUser = true;
        c.add(Restrictions.eq("firstName", firstName));
    }

    String lastName = p_searchParams.getLastName();
    if (lastName != null && lastName.length() > 0) {
        filterUser = true;
        c.add(Restrictions.eq("lastName", lastName));
    }

    String email = p_searchParams.getEmail();
    if (email != null && email.length() > 0) {
        filterUser = true;
        c.add(Restrictions.eq("email", email));
    }

    if (filterUser) {
        us.addAll(c.list());
    }

    boolean filterRole = false;
    Criteria cc = session.createCriteria(ContainerRoleImpl.class);
    Criteria uc = session.createCriteria(UserRoleImpl.class);

    String sourceLocale = p_searchParams.getSourceLocaleParam();
    if (sourceLocale != null && sourceLocale.length() > 0) {
        filterRole = true;
        cc.add(Restrictions.eq("sourceLocale", sourceLocale));
        uc.add(Restrictions.eq("sourceLocale", sourceLocale));
    }

    String targetLocale = p_searchParams.getTargetLocaleParam();
    if (targetLocale != null && targetLocale.length() > 0) {
        filterRole = true;
        cc.add(Restrictions.eq("targetLocale", targetLocale));
        uc.add(Restrictions.eq("targetLocale", targetLocale));
    }

    if (filterRole) {
        List uids = new ArrayList();

        cc.add(Restrictions.eq("state", User.State.ACTIVE));
        uc.add(Restrictions.eq("state", User.State.ACTIVE));

        List<ContainerRoleImpl> crs = cc.list();
        List<UserRoleImpl> urs = uc.list();

        for (ContainerRoleImpl cr : crs) {
            uids.addAll(cr.getUserIds());
        }

        for (UserRoleImpl ur : urs) {
            uids.add(ur.getUser());
        }

        if (uids.size() > 0) {
            c = session.createCriteria(UserImpl.class);
            c.add(Restrictions.in("userId", uids));

            us.addAll(c.list());
        }
    }

    return us;
    //        return getUsers(p_userAttrs, p_roleAttrs, null, p_project);
}

From source file:com.googlecode.ouvidoria.model.complaint.ComplaintDaoImpl.java

@Override
@SuppressWarnings("unchecked")
public List<?> searchByCriteria(final int transform, final String queryString, int pageNumber, int pageSize,
        final ComplaintVO vo) {
    Criteria criteria = this.getSession().createCriteria(Complaint.class);

    if (vo != null) {
        if (vo.getId() != null) {
            criteria.add(Restrictions.idEq(vo.getId()));
        } else {//from  w ww. ja va 2 s  .c om
            if (vo.getStatus() != null) {
                System.out.println("DAO .... " + vo.getStatus());
                criteria.add(Restrictions.eq("status", vo.getStatus()));
            }
            //TODO demandant
            if (vo.getSubjectId() != null) {
                criteria.createCriteria("subject").add(Restrictions.idEq(vo.getSubjectId()));
            }
            if (vo.getText() != null) {
                criteria.add(Restrictions.ilike("text", "%" + vo.getText() + "%"));
            }
            if (vo.getTypeId() != null) {
                criteria.createCriteria("type").add(Restrictions.idEq(vo.getTypeId()));
            }
        }
    }
    criteria.addOrder(Order.desc("date"));

    if (pageNumber > 0 && pageSize > 0) {
        criteria.setFirstResult(super.calculateFirstResult(pageNumber, pageSize));
        criteria.setMaxResults(pageSize);
    }

    List results = criteria.list();
    transformEntities(transform, results);
    return results;
}

From source file:com.hmsinc.epicenter.model.geography.impl.GeographyRepositoryImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public <T extends Geography> List<T> getGeographiesInState(State state, String query, Class<T> geographyType,
        boolean includePartial) {

    final String name = (includePartial ? query + "%" : query);
    return criteriaQuery(entityManager, geographyType).add(Restrictions.eq("state", state))
            .add(Restrictions.ilike("name", name)).addOrder(Order.asc("name")).list();

}