Example usage for org.hibernate.criterion Restrictions or

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

Introduction

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

Prototype

public static LogicalExpression or(Criterion lhs, Criterion rhs) 

Source Link

Document

Return the disjuction of two expressions

Usage

From source file:br.os.rh.pontoprofessores.PontoProfessoresDAO.java

public List<PontoProfessores> pesquisaPontoEmail() {
    setSessao(HibernateUtil.getSessionFactory().openSession());
    setTransacao(getSessao().beginTransaction());
    List<PontoProfessores> ponto = null;

    ponto = (List<PontoProfessores>) getSessao().createCriteria(PontoProfessores.class)
            .add(Restrictions.or(Restrictions.isNull("horaEntrada"), Restrictions.isNull("horaSaida")))
            .add(Restrictions.or(Restrictions.eq("email", false), Restrictions.isNull("email")))
            .add(Restrictions.lt("data", new Date())).list();

    getSessao().close();/*from   w ww. j a  v  a 2s .  co  m*/
    return ponto;
}

From source file:br.ufac.sion.dao.InscricaoFacade.java

@Override
public List<Inscricao> findByConcursoAndConfirmadasESubJudice(FiltroInscritos filtro) {

    Criteria criteria = criarCriteriaParaFiltro(filtro);

    criteria.setFirstResult(filtro.getPrimeiroRegistro());
    criteria.setMaxResults(filtro.getQuantidadeRegistros());

    Criterion confirmada = Restrictions.eq("status", SituacaoInscricao.CONFIRMADA);
    Criterion judice = Restrictions.eq("status", SituacaoInscricao.SUB_JUDICE);
    criteria.add(Restrictions.or(confirmada, judice));

    return criteria.list();
}

From source file:br.ufac.sion.dao.InscricaoFacade.java

@Override
public List<Inscricao> findByConcursoAndPNE(FiltroInscritos filtro) {
    Criteria criteria = criarCriteriaParaFiltro(filtro);

    criteria.setFirstResult(filtro.getPrimeiroRegistro());
    criteria.setMaxResults(filtro.getQuantidadeRegistros());

    Criterion portador = Restrictions.eq("necessidadeEspecial.portador", true);
    Criterion necessitaAtendimento = Restrictions.eq("necessidadeEspecial.necessitaAtendimento", true);
    criteria.add(Restrictions.or(portador, necessitaAtendimento));

    return criteria.list();
}

From source file:br.ufac.sion.dao.InscricaoFacade.java

@Override
public int contaInscricoesConfirmadasESubJudice(FiltroInscritos filtro) {
    Criteria criteria = criarCriteriaParaFiltro(filtro);
    Criterion confirmada = Restrictions.eq("status", SituacaoInscricao.CONFIRMADA);
    Criterion judice = Restrictions.eq("status", SituacaoInscricao.SUB_JUDICE);
    criteria.add(Restrictions.or(confirmada, judice));

    criteria.setProjection(Projections.rowCount());

    return ((Number) criteria.uniqueResult()).intValue();
}

From source file:br.ufac.sion.dao.InscricaoFacade.java

@Override
public int contaInscricoesPNE(FiltroInscritos filtro) {
    Criteria criteria = criarCriteriaParaFiltro(filtro);

    Criterion portador = Restrictions.eq("necessidadeEspecial.portador", true);
    Criterion necessitaAtendimento = Restrictions.eq("necessidadeEspecial.necessitaAtendimento", true);
    criteria.add(Restrictions.or(portador, necessitaAtendimento));

    criteria.setProjection(Projections.rowCount());

    return ((Number) criteria.uniqueResult()).intValue();
}

From source file:br.ufac.sion.dao.InscricaoFacade.java

@Override
public Long encontrarQuatidadeDeInscricoesPorCargo(CargoConcurso cargoConcurso, String status) {

    Session session = em.unwrap(Session.class);
    Criteria criteria = session.createCriteria(Inscricao.class);

    criteria.add(Restrictions.eq("cargoConcurso", cargoConcurso));

    if (StringUtils.isNotEmpty(status) && status.equals("CONFIRMADA")) {
        Criterion confirmada = Restrictions.eq("status", SituacaoInscricao.CONFIRMADA);
        Criterion judice = Restrictions.eq("status", SituacaoInscricao.SUB_JUDICE);
        criteria.add(Restrictions.or(confirmada, judice));
    }/*from   ww w.  ja  v a 2  s .  co m*/

    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    criteria.setProjection(Projections.rowCount());

    return ((Number) criteria.uniqueResult()).longValue();
}

From source file:br.ufac.sion.dao.InscricaoFacade.java

@Override
public List<Inscricao> findByCargoAndLocalidade(FiltroInscritosRelatorio filtroRelatorio) {
    Session session = em.unwrap(Session.class);
    Criteria criteria = session.createCriteria(Inscricao.class);

    criteria.createAlias("cargoConcurso", "cc")
            .add(Restrictions.eq("cc.concurso", filtroRelatorio.getConcurso()));
    criteria.createAlias("candidato", "c");

    if (filtroRelatorio.getCargo() != null && filtroRelatorio.getCargo().getId() != null) {
        criteria.add(Restrictions.eq("cargoConcurso", filtroRelatorio.getCargo()));
    }/*from   w  ww  .ja  va  2 s.  c  o m*/

    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

    criteria.setFirstResult(filtroRelatorio.getPrimeiroRegistro());
    criteria.setMaxResults(filtroRelatorio.getQuantidadeRegistros());

    Criterion confirmada = Restrictions.eq("status", SituacaoInscricao.CONFIRMADA);
    Criterion judice = Restrictions.eq("status", SituacaoInscricao.SUB_JUDICE);
    criteria.add(Restrictions.or(confirmada, judice));

    //criteria.addOrder(Order.asc("c.nome"));
    return criteria.list();
}

From source file:br.ufac.sion.dao.InscricaoFacade.java

@Override
public int contaInscricoesByCargoAndLocalidade(FiltroInscritosRelatorio filtroRelatorio) {
    Session session = em.unwrap(Session.class);
    Criteria criteria = session.createCriteria(Inscricao.class);

    criteria.createAlias("cargoConcurso", "cc")
            .add(Restrictions.eq("cc.concurso", filtroRelatorio.getConcurso()));
    criteria.createAlias("candidato", "c");

    if (filtroRelatorio.getCargo() != null && filtroRelatorio.getCargo().getId() != null) {
        criteria.add(Restrictions.eq("cargoConcurso", filtroRelatorio.getCargo()));
    }/*  ww w.  j ava  2s . c o  m*/

    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

    Criterion confirmada = Restrictions.eq("status", SituacaoInscricao.CONFIRMADA);
    Criterion judice = Restrictions.eq("status", SituacaoInscricao.SUB_JUDICE);
    criteria.add(Restrictions.or(confirmada, judice));

    criteria.setProjection(Projections.rowCount());

    return ((Number) criteria.uniqueResult()).intValue();
}

From source file:br.ufg.calendario.dao.EventoDao.java

@Transactional(readOnly = true)
public List<Evento> listar(int first, int pageSize, String sortField, String sortOrder,
        Map<String, Object> filters) {
    Session session = sessionFactory.getCurrentSession();
    Criteria criteria = session.createCriteria(Evento.class);
    criteria.setFirstResult(first);//from   w  w  w .  j  ava  2 s  .  c o  m
    criteria.setMaxResults(pageSize);

    if ((sortField != null && !sortField.isEmpty()) && (sortOrder != null && !sortOrder.isEmpty())) {
        if (sortOrder.equals("ASCENDING")) {
            criteria.addOrder(Order.asc(sortField));
        }
        if (sortOrder.equals("DESCENDING")) {
            criteria.addOrder(Order.desc(sortField));
        }
    } else {
        criteria.addOrder(Order.asc("id"));
    }
    if (filters != null && !filters.isEmpty()) {
        for (String key : filters.keySet()) {
            if (key.equals("termo")) {
                List foundList = buscarTermo(session, filters.get("termo").toString());
                if (foundList.size() > 0) {
                    criteria.add(Restrictions.in("id", foundList));
                } else {
                    criteria.add(Restrictions.or(
                            Restrictions.like("assunto", filters.get(key).toString(), MatchMode.ANYWHERE)
                                    .ignoreCase(),
                            Restrictions.like("descricao", filters.get(key).toString(), MatchMode.ANYWHERE)
                                    .ignoreCase()));
                }
            }

            if (key.equals("interessado")) {
                Interessado interessado = (Interessado) filters.get(key);
                System.out.println("interessado: " + interessado.getNome());
                criteria.createCriteria("interessado").add(Restrictions.eq("id", interessado.getId()));
            }

            if (key.equals("regional")) {
                Regional regional = (Regional) filters.get(key);
                System.out.println("regional: " + regional.getNome());
                criteria.createCriteria("regional").add(Restrictions.eq("id", regional.getId()));
            }

            if (key.equals("periodo")) {
                Map periodo = (Map) filters.get(key);
                criteria.add(Restrictions
                        .or(Restrictions.between("inicio", periodo.get("inicio"), periodo.get("termino")))
                        .add(Restrictions.between("termino", periodo.get("inicio"), periodo.get("termino"))));
            }

            if (key.equals("calendario")) {
                criteria.createAlias("calendario", "c");
                criteria.add(Restrictions.eq("c.ano", ((Calendario) filters.get(key)).getAno()));
            }

        }
    }
    if (filters == null || !filters.containsKey("calendario")) {
        criteria.createAlias("calendario", "c");
        criteria.add(Restrictions.eq("c.ativo", true));
    }
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    List<Evento> resultado = criteria.list();
    for (Evento evt : resultado) {
        Hibernate.initialize(evt.getInteressado());
        Hibernate.initialize(evt.getRegional());
    }
    return resultado;
}

From source file:br.ufg.calendario.dao.EventoDao.java

@Transactional(readOnly = true)
public int rowCount(Map<String, Object> filters) {
    Session session = sessionFactory.getCurrentSession();
    Criteria criteria = session.createCriteria(Evento.class);
    for (String key : filters.keySet()) {
        if (key.equals("assunto")) {
            criteria.add(Restrictions.like(key, filters.get(key).toString(), MatchMode.ANYWHERE).ignoreCase());
        }// w  w w .j  av a 2 s . c  o  m
        if (key.equals("periodo")) {
            Map periodo = (Map) filters.get(key);
            criteria.add(Restrictions.and(Restrictions.ge("inicio", periodo.get("inicio")))
                    .add(Restrictions.le("termino", periodo.get("termino"))));
        }

        if (key.equals("calendario")) {
            criteria.createAlias("calendario", "c");
            criteria.add(Restrictions.eq("c.ano", ((Calendario) filters.get(key)).getAno()));
        }
        if (key.equals("termo")) {
            criteria.add(Restrictions.or(
                    Restrictions.like("assunto", filters.get(key).toString(), MatchMode.ANYWHERE).ignoreCase(),
                    Restrictions.like("descricao", filters.get(key).toString(), MatchMode.ANYWHERE)
                            .ignoreCase()));
        }
        if (key.equals("interessado")) {
            System.out.println("implementar filtro interessado");
        }
        if (key.equals("regional")) {
            System.out.println("implementar filtro regional");
        }
    }
    return ((Long) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
}