Example usage for org.hibernate.type DateType DateType

List of usage examples for org.hibernate.type DateType DateType

Introduction

In this page you can find the example usage for org.hibernate.type DateType DateType.

Prototype

public DateType() 

Source Link

Usage

From source file:com.court.controller.GuarantorsFxmlController.java

private List<Member> getAvailableGuarantors() {
    Session session = HibernateUtil.getSessionFactory().openSession();
    SQLQuery query = session/*from  w w  w . j  a v  a2 s .c o  m*/
            .createSQLQuery("SELECT\n" + "    m.member_id AS memberId,\n" + "    m.full_name AS fullName,\n"
                    + "    wb.branch_name AS workingOffice,\n" + "    pb.branch_name AS payingOffice,\n"
                    + "    ml.member_loan_code AS loanCode,\n" + "    ml.granted_date AS grantedDate,\n"
                    + "    ml.loan_amount AS loanAmount,\n" + "    ml.loan_interest AS loanInterest,\n"
                    + "    ml.interest_per AS interestPer,\n" + "    ml.interest_method AS interMethod,\n"
                    + "    ml.loan_duration AS loanDuration,\n" + "    ml.duration_per AS lDurationPer,\n"
                    + "    ml.is_complete AS loanComplete\n" + "FROM\n" + "    court_loan.branch wb\n"
                    + "INNER JOIN\n" + "    court_loan.member m\n" + "ON\n" + "    (\n"
                    + "        wb.id = m.branch_id)\n" + "INNER JOIN\n" + "    court_loan.branch pb\n" + "ON\n"
                    + "    (\n" + "        m.pay_office_id = pb.id)\n" + "LEFT OUTER JOIN\n"
                    + "    court_loan.member_loan ml\n" + "ON\n" + "    (\n" + "        m.id = ml.member_id) ;")
            .addScalar("memberId", new StringType()).addScalar("fullName", new StringType())
            .addScalar("workingOffice", new StringType()).addScalar("payingOffice", new StringType())
            .addScalar("loanCode", new StringType()).addScalar("grantedDate", new DateType())
            .addScalar("loanAmount", new DoubleType()).addScalar("loanInterest", new DoubleType())
            .addScalar("interestPer", new StringType()).addScalar("interMethod", new StringType())
            .addScalar("loanDuration", new IntegerType()).addScalar("lDurationPer", new StringType())
            .addScalar("loanComplete", new BooleanType());

    List<Object[]> rows = query.list();
    List<Member> list = new ArrayList<>();
    for (Object[] row : rows) {
        Member m = new Member();
        m.setMemberId(row[0].toString());
        m.setFullName(row[1].toString());
        m.setBranch(new Branch(row[2].toString()));
        m.setPayOffice(new Branch(row[3].toString()));
        list.add(m);
    }

    session.close();
    return list;
}

From source file:com.minhafazenda.model.MfAuditoriaConfiguracaoModel.java

public List<MfAuditoriaView> findAUditoria(String nomeTabela) {
    Session objSession = this.objSessionFactory.openSession();
    Query query = objSession//from w ww . j a v a  2  s  .c om
            .createSQLQuery("SELECT id, usuario, chave_primaria_1, chave_primaria_2, acao, data_hora  FROM "
                    + nomeTabela + "_AUDITORIA_VIEW")
            .addScalar("id", new IntegerType()).addScalar("usuario", new StringType())
            .addScalar("chave_primaria_1", new StringType()).addScalar("chave_primaria_2", new StringType())
            .addScalar("acao", new StringType()).addScalar("data_hora", new DateType())
            .setResultTransformer(Transformers.aliasToBean(MfAuditoriaView.class));

    return query.list();
}

From source file:com.minhafazenda.model.MfAuditoriaViewModel.java

public List<MfAuditoriaView> findByDescricao(String nomeTabela, String descricao) {

    Session objSession = this.objSessionFactory.openSession();
    Query query = objSession/*from  ww w . ja  v a  2  s  .c om*/
            .createSQLQuery(" SELECT id, usuario, chave_primaria_1, chave_primaria_2, acao, data_hora  "
                    + " FROM " + nomeTabela + "_AUDITORIA_VIEW" + " WHERE usuario like '%" + descricao
                    + "%' OR " + "       chave_primaria_1 like '%" + descricao + "%' OR "
                    + "       chave_primaria_2 like '%" + descricao + "%' OR " + "       acao like '%"
                    + descricao + "%'")
            .addScalar("id", new IntegerType()).addScalar("usuario", new StringType())
            .addScalar("chave_primaria_1", new StringType()).addScalar("chave_primaria_2", new StringType())
            .addScalar("acao", new StringType()).addScalar("data_hora", new DateType())
            .setResultTransformer(Transformers.aliasToBean(MfAuditoriaView.class));

    return query.list();
}

From source file:com.minhafazenda.model.MfAuditoriaViewModel.java

public List<MfAuditoriaView> findAUditoria(String nomeTabela) {
    Session objSession = this.objSessionFactory.openSession();
    Query query = objSession/*w  w  w  .  j  a va  2s.  c  o  m*/
            .createSQLQuery("SELECT id, usuario, chave_primaria_1, chave_primaria_2, acao, data_hora  FROM "
                    + nomeTabela + "_AUDITORIA_VIEW")
            .addScalar("id", new IntegerType()).addScalar("usuario", new StringType())
            .addScalar("chave_primaria_1", new StringType()).addScalar("chave_primaria_2", new StringType())
            .addScalar("acao", new StringType()).addScalar("data_hora", new DateType())
            .setResultTransformer(Transformers.aliasToBean(MfAuditoriaView.class));

    //        List<MfAuditoriaView> list = query.list();
    //        for (MfAuditoriaView list_ : list) {
    //            System.out.print(list_.getAcao());
    //            System.out.print(list_.getChave_primaria_1());
    //            System.out.println(list_.getId());
    //            
    //        }

    return query.list();
}

From source file:com.sisrni.dao.MovilidadDao.java

public List<PojoMovilidadAdm> getMovilidadAdm(Integer idMovSearch) {
    String query = "SELECT mv.ID_MOVILIDAD idMovilidad, pm.NOMBRE_PROGRAMA_MOVILIDAD nombrePrograma,per.NOMBRE_PERSONA nombrePersona,per.APELLIDO_PERSONA apellidoPersona,tpmv.NOMBRE_TIPO_MOVILIDAD nombreTipoMovilidad,pa.NOMBRE_PAIS paisOrigen, pai.NOMBRE_PAIS paisDestino,mv.FECHA_INICIO fechaEntrada,mv.FECHA_FIN fechaSalida ,etm.NOMBRE_ETAPA nombreEtapa  \n"
            + "FROM MOVILIDAD mv INNER JOIN PROGRAMA_MOVILIDAD pm ON mv.ID_PROGRAMA_MOVILIDAD = pm.ID_PROGRAMA_MOVILIDAD\n"
            + "INNER JOIN PERSONA_MOVILIDAD prmov  ON mv.ID_MOVILIDAD =prmov.ID_MOVILIDAD\n"
            + "INNER JOIN PERSONA per  ON prmov.ID_PERSONA = per.ID_PERSONA\n"
            + "INNER JOIN TIPO_MOVILIDAD tpmv ON mv.ID_TIPO_MOVILIDAD = tpmv.ID_TIPO_MOVILIDAD\n"
            + "INNER JOIN PAIS pa ON mv.ID_PAIS_ORIGEN = pa.ID_PAIS\n"
            + "INNER JOIN PAIS pai ON mv.ID_PAIS_DESTINO = pai.ID_PAIS "
            + "INNER JOIN ETAPA_MOVILIDAD etm ON mv.ID_ETAPA_MOVILIDAD = etm.ID_ETAPA   \n"
            + "WHERE prmov.ID_TIPO_PERSONA = 10  ";
    if (idMovSearch > 0) {
        query = query + " AND mv.ID_MOVILIDAD =" + idMovSearch;
    }//from w w  w .  j  a v  a  2  s .  c  o m
    //query = query + " ORDER BY mv.FECHA_INGRESO DESC";
    query = query + "ORDER BY mv.ID_MOVILIDAD DESC";
    try {
        Query q = getSessionFactory().getCurrentSession().createSQLQuery(query)
                .addScalar("idMovilidad", new IntegerType()).addScalar("nombrePrograma", new StringType())
                .addScalar("nombrePersona", new StringType()).addScalar("apellidoPersona", new StringType())
                .addScalar("nombreTipoMovilidad", new StringType()).addScalar("paisOrigen", new StringType())
                .addScalar("paisDestino", new StringType()).addScalar("fechaEntrada", new DateType())
                .addScalar("fechaSalida", new DateType()).addScalar("nombreEtapa", new StringType())
                .setResultTransformer(Transformers.aliasToBean(PojoMovilidadAdm.class));

        return q.list();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

From source file:com.sisrni.dao.MovilidadDao.java

public List<PojoMovilidadDocumentacion> getMovilidadDocumentacion(Integer idMovSearch) {
    String query = "SELECT mv.ID_MOVILIDAD idMovilidad, pm.NOMBRE_PROGRAMA_MOVILIDAD nombrePrograma,per.NOMBRE_PERSONA nombrePersona,per.APELLIDO_PERSONA apellidoPersona,tpmv.NOMBRE_TIPO_MOVILIDAD nombreTipoMovilidad,pa.NOMBRE_PAIS paisOrigen, pai.NOMBRE_PAIS paisDestino,mv.FECHA_INICIO fechaEntrada,mv.FECHA_FIN fechaSalida ,etm.NOMBRE_ETAPA nombreEtapa  \n"
            + "FROM MOVILIDAD mv INNER JOIN PROGRAMA_MOVILIDAD pm ON mv.ID_PROGRAMA_MOVILIDAD = pm.ID_PROGRAMA_MOVILIDAD\n"
            + "INNER JOIN PERSONA_MOVILIDAD prmov  ON mv.ID_MOVILIDAD =prmov.ID_MOVILIDAD\n"
            + "INNER JOIN PERSONA per  ON prmov.ID_PERSONA = per.ID_PERSONA\n"
            + "INNER JOIN TIPO_MOVILIDAD tpmv ON mv.ID_TIPO_MOVILIDAD = tpmv.ID_TIPO_MOVILIDAD\n"
            + "INNER JOIN PAIS pa ON mv.ID_PAIS_ORIGEN = pa.ID_PAIS\n"
            + "INNER JOIN PAIS pai ON mv.ID_PAIS_DESTINO = pai.ID_PAIS "
            + "INNER JOIN ETAPA_MOVILIDAD etm ON mv.ID_ETAPA_MOVILIDAD = etm.ID_ETAPA   \n"
            + "WHERE prmov.ID_TIPO_PERSONA = 10  ";
    if (idMovSearch > 0) {
        query = query + " AND mv.ID_MOVILIDAD =" + idMovSearch;
    }/* ww w  . j  a v  a 2  s.c om*/
    query = query + " ORDER BY mv.FECHA_INGRESO DESC";
    try {
        Query q = getSessionFactory().getCurrentSession().createSQLQuery(query)
                .addScalar("idMovilidad", new IntegerType()).addScalar("nombrePrograma", new StringType())
                .addScalar("nombrePersona", new StringType()).addScalar("apellidoPersona", new StringType())
                .addScalar("nombreTipoMovilidad", new StringType()).addScalar("paisOrigen", new StringType())
                .addScalar("paisDestino", new StringType()).addScalar("fechaEntrada", new DateType())
                .addScalar("fechaSalida", new DateType()).addScalar("nombreEtapa", new StringType())
                .setResultTransformer(Transformers.aliasToBean(PojoMovilidadDocumentacion.class));

        return q.list();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

From source file:com.sisrni.dao.PropuestaConvenioDao.java

public List<PropuestaConvenio> getConvenios() {
    try {/*from  w  w  w  .j  a  va  2 s  .  c  om*/
        String sql = "SELECT PRO.ID_PROPUESTA idPropuesta,NOMBRE_PROPUESTA nombrePropuesta,FINALIDAD_PROPUESTA finalidadPropuesta,VIGENCIA vigencia,ID_TIPO_PROPUESTA_CONVENIO\n"
                + "FROM PROPUESTA_CONVENIO PRO \n" + "INNER JOIN PROPUESTA_ESTADO P_ESTADO \n"
                + "ON PRO.ID_PROPUESTA=P_ESTADO.ID_PROPUESTA \n" + "INNER JOIN ESTADO \n"
                + "ON ESTADO.ID_ESTADO=P_ESTADO.ID_ESTADO\n" + "WHERE PRO.VIGENCIA IS NOT NULL\n"
                + "AND ESTADO.NOMBRE_ESTADO='FIRMADO'" + "AND PRO.ACTIVO IS TRUE";

        Query q = getSessionFactory().getCurrentSession().createSQLQuery(sql)
                .addScalar("idPropuesta", new IntegerType()).addScalar("nombrePropuesta", new StringType())
                .addScalar("finalidadPropuesta", new StringType()).addScalar("vigencia", new DateType())
                //.addScalar("ID_TIPO_PROPUESTA_CONVENIO",new IntegerType())
                .setResultTransformer(Transformers.aliasToBean(PropuestaConvenio.class));

        return q.list();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

From source file:com.sisrni.dao.PropuestaConvenioDao.java

/**
 * listdo convenio marcos//from www. j a va2 s.co  m
 *
 * @return
 */
public List<PropuestaConvenio> getConveniosMarcos() {
    try {
        String sql = "SELECT PRO.ID_PROPUESTA idPropuesta,NOMBRE_PROPUESTA nombrePropuesta,FINALIDAD_PROPUESTA finalidadPropuesta,VIGENCIA vigencia,ID_TIPO_PROPUESTA_CONVENIO\n"
                + "FROM PROPUESTA_CONVENIO PRO \n" + "INNER JOIN PROPUESTA_ESTADO P_ESTADO \n"
                + "ON PRO.ID_PROPUESTA=P_ESTADO.ID_PROPUESTA \n" + "INNER JOIN ESTADO \n"
                + "ON ESTADO.ID_ESTADO=P_ESTADO.ID_ESTADO\n" + "WHERE PRO.VIGENCIA IS NOT NULL\n"
                + "AND ESTADO.NOMBRE_ESTADO='FIRMADO' " + "AND PRO.ID_TIPO_PROPUESTA_CONVENIO=2 "
                + "AND PRO.ACTIVO IS TRUE";

        Query q = getSessionFactory().getCurrentSession().createSQLQuery(sql)
                .addScalar("idPropuesta", new IntegerType()).addScalar("nombrePropuesta", new StringType())
                .addScalar("finalidadPropuesta", new StringType()).addScalar("vigencia", new DateType())
                //.addScalar("ID_TIPO_PROPUESTA_CONVENIO",new IntegerType())
                .setResultTransformer(Transformers.aliasToBean(PropuestaConvenio.class));

        return q.list();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

From source file:com.sisrni.dao.PropuestaConvenioDao.java

/**
 * obtiene todos las propuestas convenios SQL sin id solicitante
 *
 * @return/*  ww  w .j a  v  a  2s .  c om*/
 */
public List<PojoPropuestaConvenio> getAllPropuestaConvenioSQL() {

    String sql = "SELECT * FROM  \n" + "(SELECT P_CONVENIO.NOMBRE_PROPUESTA,P_CONVENIO.FINALIDAD_PROPUESTA,\n"
            + "T_PRO_CONVE.NOMBRE_PROPUESTA_CONVENIO AS TIPO_CONVENIO,STA.NOMBRE_ESTADO,P_CONVENIO.VIGENCIA,\n"
            + "P_CONVENIO.ID_PROPUESTA,\n" + "P_ESTADO.ID_ESTADO,\n"
            + "P_CONVENIO.FECHA_INGRESO FECHA_INGRESO\n" + "FROM PROPUESTA_CONVENIO P_CONVENIO\n"
            + "INNER JOIN TIPO_PROPUESTA_CONVENIO T_PRO_CONVE\n"
            + "ON P_CONVENIO.ID_TIPO_PROPUESTA_CONVENIO = T_PRO_CONVE.ID_TIPO_PROPUESTA \n"
            + "INNER JOIN PROPUESTA_ESTADO P_ESTADO \n" + "ON P_CONVENIO.ID_PROPUESTA = P_ESTADO.ID_PROPUESTA\n"
            + "INNER JOIN ESTADO STA\n" + "ON P_ESTADO.ID_ESTADO=STA.ID_ESTADO\n"
            + "WHERE  P_CONVENIO.VIGENCIA IS NULL\n"
            + "AND STA.NOMBRE_ESTADO <> 'FIRMADO'  ORDER BY FECHA_INGRESO DESC ) TB_CONVENIO\n" + "\n"
            + "LEFT JOIN\n" + "\n"
            + "(SELECT TB_SOLICITANTE.SOLICITANTE,TB_INTERNO.INTERNO,TB_EXTERNO.EXTERNO,TB_SOLICITANTE.PROPUESTA ,TB_SOLICITANTE.ID_SOLICITANTE,TB_INTERNO.ID_REF_INTERNO,TB_EXTERNO.ID_REF_EXTERNO \n"
            + "FROM \n"
            + "(SELECT CONCAT(PRS.NOMBRE_PERSONA,' ',PRS.APELLIDO_PERSONA) AS SOLICITANTE,PRS_PROP.ID_PROPUESTA AS PROPUESTA,PRS.ID_PERSONA AS ID_SOLICITANTE\n"
            + "FROM PERSONA_PROPUESTA PRS_PROP \n" + "INNER JOIN PERSONA PRS\n"
            + "ON PRS_PROP.ID_PERSONA=PRS.ID_PERSONA\n" + "INNER JOIN TIPO_PERSONA TP_PRS\n"
            + "ON PRS_PROP.ID_TIPO_PERSONA=TP_PRS.ID_TIPO_PERSONA\n"
            + "WHERE TP_PRS.NOMBRE_TIPO_PERSONA='SOLICITANTE') TB_SOLICITANTE\n" + "LEFT JOIN\n"
            + "(SELECT CONCAT(PRS.NOMBRE_PERSONA,' ',PRS.APELLIDO_PERSONA) AS INTERNO,PRS_PROP.ID_PROPUESTA AS PROPUESTA, PRS.ID_PERSONA AS ID_REF_INTERNO\n"
            + "FROM PERSONA_PROPUESTA PRS_PROP \n" + "INNER JOIN PERSONA PRS\n"
            + "ON PRS_PROP.ID_PERSONA=PRS.ID_PERSONA\n" + "INNER JOIN TIPO_PERSONA TP_PRS\n"
            + "ON PRS_PROP.ID_TIPO_PERSONA=TP_PRS.ID_TIPO_PERSONA\n"
            + "WHERE TP_PRS.NOMBRE_TIPO_PERSONA='REFERENTE INTERNO') TB_INTERNO\n"
            + "ON TB_SOLICITANTE.PROPUESTA=TB_INTERNO.PROPUESTA\n" + "LEFT JOIN\n"
            + "(SELECT CONCAT(PRS.NOMBRE_PERSONA,' ',PRS.APELLIDO_PERSONA) AS EXTERNO,PRS_PROP.ID_PROPUESTA AS PROPUESTA,PRS.ID_PERSONA AS ID_REF_EXTERNO\n"
            + "FROM PERSONA_PROPUESTA PRS_PROP \n" + "INNER JOIN PERSONA PRS\n"
            + "ON PRS_PROP.ID_PERSONA=PRS.ID_PERSONA\n" + "INNER JOIN TIPO_PERSONA TP_PRS\n"
            + "ON PRS_PROP.ID_TIPO_PERSONA=TP_PRS.ID_TIPO_PERSONA\n"
            + "WHERE TP_PRS.NOMBRE_TIPO_PERSONA='REFERENTE EXTERNO') TB_EXTERNO\n"
            + "ON TB_SOLICITANTE.PROPUESTA=TB_EXTERNO.PROPUESTA) TB_PERSONAS\n"
            + "ON TB_CONVENIO.ID_PROPUESTA=TB_PERSONAS.PROPUESTA";

    try {
        Query q = getSessionFactory().getCurrentSession().createSQLQuery(sql)
                .addScalar("NOMBRE_PROPUESTA", new StringType())
                .addScalar("FINALIDAD_PROPUESTA", new StringType()).addScalar("TIPO_CONVENIO", new StringType())
                .addScalar("NOMBRE_ESTADO", new StringType()).addScalar("ID_PROPUESTA", new IntegerType())
                .addScalar("SOLICITANTE", new StringType()).addScalar("INTERNO", new StringType())
                .addScalar("EXTERNO", new StringType()).addScalar("PROPUESTA", new IntegerType())
                .addScalar("VIGENCIA", new StringType()).addScalar("ID_SOLICITANTE", new IntegerType())
                .addScalar("ID_REF_INTERNO", new IntegerType()).addScalar("ID_REF_EXTERNO", new IntegerType())
                .addScalar("ID_ESTADO", new IntegerType()).addScalar("FECHA_INGRESO", new DateType())
                .setResultTransformer(Transformers.aliasToBean(PojoPropuestaConvenio.class));

        return q.list();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

From source file:com.sisrni.dao.PropuestaConvenioDao.java

/**
 * obtiene todos las propuestas convenios SQL por id solicitante
 *//*from   ww w.  ja  v a2  s.  c om*/
public List<PojoPropuestaConvenio> getAllPropuestaConvenioSQL(int idSolicitante) {

    String sql = "SELECT * FROM  \n" + "(SELECT P_CONVENIO.NOMBRE_PROPUESTA,P_CONVENIO.FINALIDAD_PROPUESTA,\n"
            + "T_PRO_CONVE.NOMBRE_PROPUESTA_CONVENIO AS TIPO_CONVENIO,STA.NOMBRE_ESTADO,P_CONVENIO.VIGENCIA,\n"
            + "P_CONVENIO.ID_PROPUESTA,\n" + "P_ESTADO.ID_ESTADO,\n"
            + "P_CONVENIO.FECHA_INGRESO FECHA_INGRESO\n" + "FROM PROPUESTA_CONVENIO P_CONVENIO\n"
            + "INNER JOIN TIPO_PROPUESTA_CONVENIO T_PRO_CONVE\n"
            + "ON P_CONVENIO.ID_TIPO_PROPUESTA_CONVENIO = T_PRO_CONVE.ID_TIPO_PROPUESTA \n"
            + "INNER JOIN PROPUESTA_ESTADO P_ESTADO \n" + "ON P_CONVENIO.ID_PROPUESTA = P_ESTADO.ID_PROPUESTA\n"
            + "INNER JOIN ESTADO STA\n" + "ON P_ESTADO.ID_ESTADO=STA.ID_ESTADO\n"
            + "WHERE  P_CONVENIO.VIGENCIA IS NULL\n"
            + "AND STA.NOMBRE_ESTADO <> 'FIRMADO'  ORDER BY FECHA_INGRESO DESC ) TB_CONVENIO\n" + "\n"
            + "LEFT JOIN\n" + "\n"
            + "(SELECT TB_SOLICITANTE.SOLICITANTE,TB_INTERNO.INTERNO,TB_EXTERNO.EXTERNO,TB_SOLICITANTE.PROPUESTA ,TB_SOLICITANTE.ID_SOLICITANTE,TB_INTERNO.ID_REF_INTERNO,TB_EXTERNO.ID_REF_EXTERNO \n"
            + "FROM \n"
            + "(SELECT CONCAT(PRS.NOMBRE_PERSONA,' ',PRS.APELLIDO_PERSONA) AS SOLICITANTE,PRS_PROP.ID_PROPUESTA AS PROPUESTA,PRS.ID_PERSONA AS ID_SOLICITANTE\n"
            + "FROM PERSONA_PROPUESTA PRS_PROP \n" + "INNER JOIN PERSONA PRS\n"
            + "ON PRS_PROP.ID_PERSONA=PRS.ID_PERSONA\n" + "INNER JOIN TIPO_PERSONA TP_PRS\n"
            + "ON PRS_PROP.ID_TIPO_PERSONA=TP_PRS.ID_TIPO_PERSONA\n"
            + "WHERE TP_PRS.NOMBRE_TIPO_PERSONA='SOLICITANTE') TB_SOLICITANTE\n" + "LEFT JOIN\n"
            + "(SELECT CONCAT(PRS.NOMBRE_PERSONA,' ',PRS.APELLIDO_PERSONA) AS INTERNO,PRS_PROP.ID_PROPUESTA AS PROPUESTA, PRS.ID_PERSONA AS ID_REF_INTERNO\n"
            + "FROM PERSONA_PROPUESTA PRS_PROP \n" + "INNER JOIN PERSONA PRS\n"
            + "ON PRS_PROP.ID_PERSONA=PRS.ID_PERSONA\n" + "INNER JOIN TIPO_PERSONA TP_PRS\n"
            + "ON PRS_PROP.ID_TIPO_PERSONA=TP_PRS.ID_TIPO_PERSONA\n"
            + "WHERE TP_PRS.NOMBRE_TIPO_PERSONA='REFERENTE INTERNO') TB_INTERNO\n"
            + "ON TB_SOLICITANTE.PROPUESTA=TB_INTERNO.PROPUESTA\n" + "LEFT JOIN\n"
            + "(SELECT CONCAT(PRS.NOMBRE_PERSONA,' ',PRS.APELLIDO_PERSONA) AS EXTERNO,PRS_PROP.ID_PROPUESTA AS PROPUESTA,PRS.ID_PERSONA AS ID_REF_EXTERNO\n"
            + "FROM PERSONA_PROPUESTA PRS_PROP \n" + "INNER JOIN PERSONA PRS\n"
            + "ON PRS_PROP.ID_PERSONA=PRS.ID_PERSONA\n" + "INNER JOIN TIPO_PERSONA TP_PRS\n"
            + "ON PRS_PROP.ID_TIPO_PERSONA=TP_PRS.ID_TIPO_PERSONA\n"
            + "WHERE TP_PRS.NOMBRE_TIPO_PERSONA='REFERENTE EXTERNO') TB_EXTERNO\n"
            + "ON TB_SOLICITANTE.PROPUESTA=TB_EXTERNO.PROPUESTA) TB_PERSONAS\n"
            + "ON TB_CONVENIO.ID_PROPUESTA=TB_PERSONAS.PROPUESTA\n" + "WHERE ID_SOLICITANTE=" + idSolicitante;

    try {
        Query q = getSessionFactory().getCurrentSession().createSQLQuery(sql)
                .addScalar("NOMBRE_PROPUESTA", new StringType())
                .addScalar("FINALIDAD_PROPUESTA", new StringType()).addScalar("TIPO_CONVENIO", new StringType())
                .addScalar("NOMBRE_ESTADO", new StringType()).addScalar("ID_PROPUESTA", new IntegerType())
                .addScalar("SOLICITANTE", new StringType()).addScalar("INTERNO", new StringType())
                .addScalar("EXTERNO", new StringType()).addScalar("PROPUESTA", new IntegerType())
                .addScalar("VIGENCIA", new StringType()).addScalar("ID_SOLICITANTE", new IntegerType())
                .addScalar("ID_REF_INTERNO", new IntegerType()).addScalar("ID_REF_EXTERNO", new IntegerType())
                .addScalar("ID_ESTADO", new IntegerType()).addScalar("FECHA_INGRESO", new DateType())
                .setResultTransformer(Transformers.aliasToBean(PojoPropuestaConvenio.class));

        return q.list();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}