Example usage for org.hibernate.criterion Projections projectionList

List of usage examples for org.hibernate.criterion Projections projectionList

Introduction

In this page you can find the example usage for org.hibernate.criterion Projections projectionList.

Prototype

public static ProjectionList projectionList() 

Source Link

Document

Create a new projection list.

Usage

From source file:br.com.sgejs.dao.DaoArquivo.java

public List<Arquivo> getArquivosDoAluno(long id) throws HibernateException {
    Criteria criArquivo = sessao.createCriteria(classe, "p");
    criArquivo.setProjection(Projections.projectionList().add(Projections.property("p.id").as("id"))
            .add(Projections.property("p.ano").as("ano")).add(Projections.property("p.curso").as("curso"))
            .add(Projections.property("p.tipo").as("tipo")).add(Projections.property("p.caixa").as("caixa"))
            .add(Projections.property("p.criacao").as("criacao")))
            .setResultTransformer(new AliasToBeanResultTransformer(Arquivo.class));
    criArquivo.createCriteria("alunos").add(Restrictions.eq("id", id));
    return criArquivo.list();
}

From source file:br.com.sgejs.dao.DaoServidor.java

public List<Servidor> listPropriedades() {
    Criteria cri = sessao.createCriteria(classe, "s");
    cri.addOrder(Order.asc("nome"))
            .setProjection(Projections.projectionList().add(Projections.property("s.id").as("id"))
                    .add(Projections.property("s.nome").as("nome"))
                    .add(Projections.property("s.sexo").as("sexo"))
                    .add(Projections.property("s.contato").as("contato")))
            .setResultTransformer(new AliasToBeanResultTransformer(Servidor.class));
    return cri.list();
}

From source file:br.com.sgejs.dao.DaoServidor.java

public Servidor getEscolaridade(Long id) {
    Criteria cri = sessao.createCriteria(classe, "s");
    cri.add(Restrictions.eq("s.id", id));
    cri.setProjection(Projections.projectionList().add(Projections.property("s.nome").as("nome"))
            .add(Projections.property("s.instrucao").as("instrucao"))
            .add(Projections.property("s.posGraduacao").as("posGraduacao")))
            .setResultTransformer(new AliasToBeanResultTransformer(Servidor.class));
    Servidor u = (Servidor) cri.uniqueResult();

    SQLQuery q1 = sessao.createSQLQuery("select * from graduacao where servidor_id=" + id)
            .addEntity(Graduacao.class);
    List list = q1.list();// www  . j a  v  a  2  s . c  o  m
    System.out.println("Graduacoes: " + list);
    u.setGraduacoes(list);
    return u;
}

From source file:br.com.sgejs.dao.DaoServidor.java

public Servidor getInformacoesBasicas(long id) {
    Criteria cri = sessao.createCriteria(classe, "s");
    cri.add(Restrictions.eq("s.id", id));
    cri.setProjection(Projections.projectionList().add(Projections.property("s.nome").as("nome"))
            .add(Projections.property("s.nascimento").as("nascimento"))
            .add(Projections.property("s.cidadeNascimento").as("cidadeNascimento"))
            .add(Projections.property("s.ufNascimento").as("ufNascimento"))
            .add(Projections.property("s.sexo").as("sexo")).add(Projections.property("s.raca").as("raca"))
            .add(Projections.property("s.grupoSanguineo").as("grupoSanguineo"))
            .add(Projections.property("s.estadoCivil").as("estadoCivil"))
            .add(Projections.property("s.filiacao").as("filiacao")))
            .setResultTransformer(new AliasToBeanResultTransformer(Servidor.class));
    return (Servidor) cri.uniqueResult();
}

From source file:br.com.sgejs.dao.DaoServidor.java

public Servidor getDocumentos(long id) throws HibernateException {
    Criteria cri = sessao.createCriteria(classe, "s");
    cri.add(Restrictions.eq("s.id", id));
    cri.setProjection(Projections.projectionList().add(Projections.property("s.nome").as("nome"))
            .add(Projections.property("s.documento").as("documento")))
            .setResultTransformer(new AliasToBeanResultTransformer(classe));
    return (Servidor) cri.uniqueResult();
}

From source file:br.gov.mdarte.controleacesso.cd.PerfilDAOImpl.java

@Override
protected Object handleRecuperarSuperPerfil(Session session, String sistema, Integer paginacao, Integer linhas,
        Integer paginas) throws DAOException {
    ProjectionList projectionList = Projections.projectionList();

    projectionList.add(Projections.property("id"));

    Criteria criterios = session.createCriteria(PerfilImpl.class);
    criterios.createAlias("sistema", "sistema");

    criterios.add(Restrictions.eq("superUsuario", Boolean.TRUE));

    criterios.setProjection(projectionList);

    if (sistema != null)
        criterios.add(Restrictions.eq("sistema.nome", sistema));

    ResultTransformer resultTransformer = new ResultTransformer() {

        public Object transformTuple(Object[] result, String[] arg1) {
            return result;
        }/*from   ww w. j  a v  a  2s  . co  m*/

        public List transformList(List resultado) {
            List idPerfis = new ArrayList<Long>();

            for (Object[] result : (List<Object[]>) resultado) {
                Collection rows = Arrays.asList(result);
                Iterator iteratorRow = rows.iterator();

                idPerfis.add((Long) iteratorRow.next());
            }

            return idPerfis;
        }
    };

    criterios.setResultTransformer(resultTransformer);

    return criterios;
}

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

@Override
public Map<Date, Long> inscricoesPorData(Concurso concurso, SituacaoInscricao situacao) {
    Session session = em.unwrap(Session.class);
    Criteria criteria = session.createCriteria(Inscricao.class);

    LocalDateTime dataInicial = concurso.getDataInicioInscricao();

    Integer dias = Period.between(concurso.getDataInicioInscricao().toLocalDate(),
            concurso.getDataTerminoIncricao().toLocalDate()).getDays();
    Map<Date, Long> resultado = criaMapaVazio(dias, dataInicial);

    criteria.createAlias("cargoConcurso", "cc")
            .setProjection(Projections.projectionList()
                    .add(Projections.sqlGroupProjection("date(data_inscricao) as data", "date(data_inscricao)",
                            new String[] { "data" }, new Type[] { StandardBasicTypes.DATE }))
                    .add(Projections.count("id").as("quantidade")))
            .add(Restrictions.ge("dataInscricao", dataInicial)).add(Restrictions.eq("cc.concurso", concurso));

    if (situacao != null) {
        criteria.add(Restrictions.eq("status", situacao.CONFIRMADA));
    }//from w  w w .j av  a2 s  .c om

    List<DataQuantidade> quantidadesPorData = criteria
            .setResultTransformer(Transformers.aliasToBean(DataQuantidade.class)).list();

    for (DataQuantidade quantidadeData : quantidadesPorData) {
        resultado.put(quantidadeData.getData(), quantidadeData.getQuantidade());
    }

    return resultado;
}

From source file:br.ufmg.hc.telessaude.diagnostico.dominio.dao.ExameDAOLocal.java

public List<Exame> consultar(Integer id, String nomePaciente, Date inicio, Date fim) throws DAOException {
    ArrayList<Criterion> restrict = new ArrayList();
    if (id != null) {
        restrict.add(Restrictions.eq("id", id));
    } else {/*from w w  w  . j a v  a 2  s .co m*/
        if (nomePaciente != null && !nomePaciente.isEmpty()) {
            restrict.add(Restrictions.ilike("pc.nome", nomePaciente, MatchMode.ANYWHERE));
        }
        if (inicio != null) {
            restrict.add(Restrictions.ge("datainclusao", inicio));
        }
        if (fim != null) {
            restrict.add(Restrictions.le("datainclusao", fim));
        }
    }
    try {
        final DetachedCriteria crit = DetachedCriteria.forClass(c);
        final Criteria criteria = crit.getExecutableCriteria(HibernateUtil.currentSession());

        crit.createAlias("paciente", "pc");
        crit.createAlias("status", "st");

        criteria.setProjection(Projections.projectionList().add(Projections.property("id"))
                .add(Projections.property("pc.nome")).add(Projections.property("pc.datanascimento"))
                .add(Projections.property("datainclusao")).add(Projections.property("st.nome")));

        criteria.addOrder(Order.desc("datainclusao"));

        for (final Criterion cri : restrict) {
            criteria.add(cri);
        }

        final List<Object[]> arrays = criteria.list();
        final List<Exame> exames = new ArrayList<>();

        for (Object[] array : arrays) {
            final Exame exame = new Exame(Integer.parseInt(String.valueOf(array[0])));
            exame.setPaciente(new Paciente());
            exame.getPaciente().setNome(String.valueOf(array[1]));
            exame.getPaciente().setDatanascimento((Date) array[2]);
            exame.setDatainclusao((Date) array[3]);
            exame.setStatus(new Status());
            exame.getStatus().setNome(String.valueOf(array[4]));

            exames.add(exame);
        }

        return exames;

    } catch (HibernateException ex) {
        throw new DAOException(ex.getMessage());
    }

}

From source file:br.ufmg.hc.telessaude.diagnostico.dominio.dao.LaudoDAOLocal.java

@Override
public List<Laudo> consultarPorIdExame(Integer id) throws DAOException {
    try {//ww  w. j  ava 2  s . c o m
        final DetachedCriteria crit = DetachedCriteria.forClass(c);
        final Criteria criteria = crit.getExecutableCriteria(HibernateUtil.currentSession());

        criteria.setProjection(Projections.projectionList().add(Projections.property("id"))
                .add(Projections.property("datainicio")).add(Projections.property("conteudo")));

        criteria.add(Restrictions.eq("exame.id", id));

        final List<Object[]> arrays = criteria.list();
        final List<Laudo> laudos = new ArrayList();

        for (Object[] array : arrays) {
            final Laudo laudo = new Laudo(Integer.parseInt(String.valueOf(array[0])));
            laudo.setDatainicio((Date) array[1]);
            laudo.setConteudo(array[2].toString());
            laudos.add(laudo);
        }

        return laudos;

    } catch (HibernateException ex) {
        throw new DAOException(ex.getMessage());
    }

}

From source file:by.andrew.pakhomov.testtask.web.controller.SpentTimeRecordController.java

@RequestMapping("/bydevelopers")
public String getSpentTimeBetweenDatesSumByDevelopers(
        @RequestParam(name = "startDate", required = false) String startDate,
        @RequestParam(name = "finishDate", required = false) String finishDate, Model model) {
    model.addAttribute("records", Collections.emptyMap());
    if (startDate == null && finishDate == null) {
        return "report-spent-time-by-developers";
    } else {/*from www  .  j  av a 2s. co m*/
        model.addAttribute("startDate", startDate);
        model.addAttribute("finishDate", finishDate);
    }

    List<String> errors = new ArrayList<>(2);

    Date startDateTime = null;
    Date finishDateTime = null;
    try {
        startDateTime = DATE_FORMAT.parse(startDate);
    } catch (ParseException ex) {
        errors.add(
                "       --");
    }
    try {
        finishDateTime = DATE_FORMAT.parse(finishDate);
    } catch (ParseException ex) {
        errors.add(
                "       --");
    }

    if (!errors.isEmpty()) {
        this.addFormErrors(model, errors.toArray(new String[errors.size()]));
        return "report-spent-time-by-developers";
    }

    final Date finalStartDate = startDateTime;
    final Date finalFinishDate = finishDateTime;

    this.executeSafely(model, (Session session) -> {
        Criteria cr = session.createCriteria(SpentTimeRecord.class);
        //            cr.add(Restrictions.between("registrationDate", finalStartDate, finalFinishDate));

        cr.setProjection(Projections.projectionList().add(Projections.sum("spentTimeInSeconds"))
                .add(Projections.groupProperty("employee")));

        List<Object[]> records = cr.list();
        Map<String, Long> report = new HashMap<>();
        for (Object[] current : records) {
            report.put((String) current[1], (long) current[0]);
        }

        model.addAttribute("records", report);
        return true;
    });

    return "report-spent-time-by-developers";
}