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:br.com.una.pa.condominio.mobile.dao.impl.DespesaDAOImpl.java

public Boolean validarDuplicidade(Despesa objeto) throws DAOException {
    List<Despesa> lista = this.findByRestrictions(0, Restrictions.eq("realizacao", objeto.getRealizacao()),
            Restrictions.ilike("nome", objeto.getNome()), Restrictions.eq("valor", objeto.getValor()),
            Restrictions.eq("condominio.id", objeto.getCondominio().getId()));
    return lista != null && !lista.isEmpty();
}

From source file:br.com.una.pa.condominio.mobile.dao.impl.PessoaDAOImpl.java

public Boolean verificarSeJaExiste(Pessoa pessoa) throws DAOException {
    List<Pessoa> lista = this.findByRestrictions(0, Restrictions.eq("nascimento", pessoa.getNascimento()),
            Restrictions.ilike("nome", pessoa.getNome()), Restrictions.eq("sexo", pessoa.getSexo()));

    return lista != null && lista.size() > 0;
}

From source file:br.com.una.pa.condominio.mobile.dao.impl.ReceitaDAOImpl.java

public Boolean validarDuplicidade(Receita receita) throws DAOException {
    List<Receita> lista = this.findByRestrictions(0, Restrictions.eq("realizacao", receita.getRealizacao()),
            receita.getNome() != null ? Restrictions.ilike("nome", receita.getNome()) : null,
            receita.getUnidade() != null ? Restrictions.eq("unidade", receita.getUnidade()) : null,
            Restrictions.eq("valor", receita.getValor()),
            Restrictions.eq("condominio.id", receita.getCondominio().getId()));
    return lista != null && !lista.isEmpty();
}

From source file:br.com.una.pa.condominio.mobile.dao.impl.UnidadeDAOImpl.java

public Boolean verificarSeJaExiste(Unidade unidade) throws DAOException {
    List<Unidade> lista = this.findByRestrictions(0,
            Restrictions.eq("condominio.id", unidade.getCondominio().getId()),
            Restrictions.ilike("nome", unidade.getNome()));
    return lista != null && lista.size() > 0;
}

From source file:br.com.una.pa.condominio.mobile.dao.impl.UnidadeDAOImpl.java

public Unidade retornarUnidade(Unidade unidade) throws DAOException {
    List<Unidade> lista = this.findByRestrictions(0,
            Restrictions.eq("condominio.id", unidade.getCondominio().getId()),
            Restrictions.ilike("nome", unidade.getNome()));
    return lista != null && lista.size() > 0 ? lista.get(0) : null;
}

From source file:br.com.webbudget.domain.model.repository.entries.ContactRepository.java

License:Open Source License

/**
 *
 * @param filter//from   ww w  . j a  v  a 2 s . c o m
 * @param blocked
 * @return
 */
@Override
public List<Contact> listByFilter(String filter, Boolean blocked) {

    final Criteria criteria = this.getSession().createCriteria(this.getPersistentClass());

    if (filter != null) {
        criteria.add(Restrictions.or(Restrictions.ilike("name", "%" + filter + "%"),
                Restrictions.ilike("email", "%" + filter + "%"), Restrictions.eq("document", filter),
                Restrictions.ilike("city", "%" + filter + "%")));
    }

    if (blocked != null) {
        criteria.add(Restrictions.eq("blocked", blocked));
    }

    return criteria.list();
}

From source file:br.com.webbudget.domain.model.repository.entries.ContactRepository.java

License:Open Source License

/**
 *
 * @param filter/*  w w w. j ava 2s  .  c om*/
 * @param blocked
 * @param pageRequest
 * @return
 */
@Override
public Page<Contact> listLazilyByFilter(String filter, Boolean blocked, PageRequest pageRequest) {

    final Criteria criteria = this.createCriteria();

    if (filter != null) {
        criteria.add(Restrictions.or(Restrictions.ilike("name", "%" + filter + "%"),
                Restrictions.ilike("email", "%" + filter + "%"), Restrictions.eq("document", filter),
                Restrictions.ilike("city", "%" + filter + "%")));
    }

    if (blocked != null) {
        criteria.add(Restrictions.eq("blocked", blocked));
    }

    // projetamos para pegar o total de paginas possiveis
    criteria.setProjection(Projections.count("id"));

    final Long totalRows = (Long) criteria.uniqueResult();

    // limpamos a projection para que a criteria seja reusada
    criteria.setProjection(null);
    criteria.setResultTransformer(Criteria.ROOT_ENTITY);

    // paginamos
    criteria.setFirstResult(pageRequest.getFirstResult());
    criteria.setMaxResults(pageRequest.getPageSize());

    if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) {
        criteria.addOrder(Order.asc(pageRequest.getSortField()));
    } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) {
        criteria.addOrder(Order.desc(pageRequest.getSortField()));
    }

    // montamos o resultado paginado
    return new Page<>(criteria.list(), totalRows);
}

From source file:br.com.webbudget.domain.model.repository.financial.FixedMovementRepository.java

License:Open Source License

/**
 *
 * @param filter//  ww w. j  ava2  s .  c o m
 * @param pageRequest
 * @return
 */
@Override
public Page<FixedMovement> listByFilter(String filter, PageRequest pageRequest) {

    final Criteria criteria = this.createCriteria();

    final List<Criterion> criterions = new ArrayList<>();

    // filtramos
    if (filter != null && !filter.isEmpty()) {

        criterions.add(Restrictions.ilike("description", "%" + filter + "%"));
        criterions.add(Restrictions.ilike("identification", "%" + filter + "%"));

        // se conseguir castar para bigdecimal trata como um filtro
        try {
            criterions.add(Restrictions.eq("value", new BigDecimal(filter)));
        } catch (NumberFormatException ex) {
        }
    }

    criteria.add(Restrictions.or(criterions.toArray(new Criterion[] {})));

    // projetamos para pegar o total de paginas possiveis
    criteria.setProjection(Projections.count("id"));

    final Long totalRows = (Long) criteria.uniqueResult();

    // limpamos a projection para que a criteria seja reusada
    criteria.setProjection(null);
    criteria.setResultTransformer(Criteria.ROOT_ENTITY);

    // paginamos
    criteria.setFirstResult(pageRequest.getFirstResult());
    criteria.setMaxResults(pageRequest.getPageSize());

    if (pageRequest.getSortDirection() == PageRequest.SortDirection.ASC) {
        criteria.addOrder(Order.asc(pageRequest.getSortField()));
    } else if (pageRequest.getSortDirection() == PageRequest.SortDirection.DESC) {
        criteria.addOrder(Order.desc(pageRequest.getSortField()));
    }

    // montamos o resultado paginado
    return new Page<>(criteria.list(), totalRows);
}

From source file:br.com.webbudget.domain.model.repository.financial.MovementRepository.java

License:Open Source License

/**
 *
 * @param filter// ww w .j  a va2 s  .  c  o m
 * @param pageRequest
 * @return
 */
@Override
public Page<Movement> listByFilter(MovementFilter filter, PageRequest pageRequest) {

    final Criteria criteria = this.createCriteria();

    final List<Criterion> criterions = new ArrayList<>();

    criteria.createAlias("contact", "co", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("apportionments", "ap");
    criteria.createAlias("ap.movementClass", "mc");
    criteria.createAlias("ap.costCenter", "cc");
    criteria.createAlias("financialPeriod", "fp");

    // montramos os criterios de filtragem geral
    if (filter.hasCriteria()) {
        criterions.add(Restrictions.eq("code", filter.getCriteria()));
        criterions.add(Restrictions.ilike("description", "%" + filter.getCriteria() + "%"));
        criterions.add(Restrictions.ilike("mc.name", "%" + filter.getCriteria() + "%"));
        criterions.add(Restrictions.ilike("cc.name", "%" + filter.getCriteria() + "%"));
        criterions.add(Restrictions.ilike("co.name", "%" + filter.getCriteria() + "%"));

        // se conseguir castar para bigdecimal trata como um filtro
        try {
            criterions.add(Restrictions.eq("value", filter.criteriaToBigDecimal()));
        } catch (ParseException ex) {
        }
    }

    criteria.add(Restrictions.or(criterions.toArray(new Criterion[] {})));
    criteria.add(Restrictions.and(filter.getCustomFilters()));

    // projetamos para pegar o total de paginas possiveis
    criteria.setProjection(Projections.count("id"));

    final Long totalRows = (Long) criteria.uniqueResult();

    // limpamos a projection para que a criteria seja reusada
    criteria.setProjection(null);
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

    // paginamos
    criteria.setFirstResult(pageRequest.getFirstResult());
    criteria.setMaxResults(pageRequest.getPageSize());

    // aplica o multisort dos campos
    if (pageRequest.isMultiSort()) {
        pageRequest.getMultiSortFields().stream().forEach(field -> {
            if (field.getDirection() == SortDirection.ASC) {
                criteria.addOrder(Order.asc(field.getSortField()));
            } else if (field.getDirection() == SortDirection.DESC) {
                criteria.addOrder(Order.desc(field.getSortField()));
            }
        });
    } else if (pageRequest.getSortDirection() == SortDirection.ASC) {
        criteria.addOrder(Order.asc(pageRequest.getSortField()));
    } else if (pageRequest.getSortDirection() == SortDirection.DESC) {
        criteria.addOrder(Order.desc(pageRequest.getSortField()));
    }

    // montamos o resultado paginado
    return new Page<>(criteria.list(), totalRows);
}

From source file:br.com.webbudget.domain.model.repository.logbook.EntryRepository.java

License:Open Source License

/**
 *
 * @param vehicle/*from w w w.  ja  v  a 2s . co m*/
 * @param filter
 * @return
 */
@Override
public List<Entry> listByVehicleAndFilter(Vehicle vehicle, String filter) {

    final Criteria criteria = this.createCriteria();

    criteria.createAlias("vehicle", "v");
    criteria.add(Restrictions.eq("v.id", vehicle.getId()));

    if (StringUtils.isNoneBlank(filter)) {
        criteria.createAlias("movementClass", "mc");
        criteria.add(Restrictions.or(Restrictions.ilike("place", filter + "%"),
                Restrictions.ilike("title", filter + "%"), Restrictions.ilike("mc.name", filter + "%"),
                Restrictions.ilike("description", "%" + filter + "%")));
    }

    return criteria.list();
}