使用参数string和bigdecimal返回类hibernate

时间:2016-08-03 20:38:11

标签: java jquery hibernate list return

如何使用hibernate正确返回此查询?

请帮帮我

    @Override
    public UsuarioValido validarUserLoggin(String loggin, BigDecimal canal) throws Exception{
        Query q = sessionFactory.getCurrentSession().createSQLQuery("SELECT A.ID_USER, '' AS nombre_canal_canales, A.CANAL_ID, '' AS nombre_pto_vta_puntos_de_venta, "
                + " A.PUNTO_VTA_ID, A.LOGGIN, A.PASSWORD, A.NOMBRES, A.APELLIDOS, A.SN_CAMBIO_PASS, A.ULTINGRESO, A.ULTCMBCONT, A.ESTADO, A.CONTINTENTOS, "
                + " B.NU_INT_PER AS NRO_INT_PASS,  A.EMAIL, B.NDIASINACT AS DIAS_VENC_CLAV "
                + " FROM "+General.Esquema_DB+".SEG_USER A "
                + " LEFT JOIN "+General.Esquema_DB+".SEGPOLSEG B ON A.ID_USER = B.ID "
                + " WHERE A.LOGGIN = '"+loggin+"' AND A.CANAL_ID = "+canal);
        List rs = q.list();

         List<UsuarioValido> validos = q.list();
        for (UsuarioValido usuarioValido : validos) {
          System.out.println(usuarioValido.toString());
         }

        UsuarioValido max = (UsuarioValido)rs.get(0);
        return max;


    }

1 个答案:

答案 0 :(得分:0)

我通常在这里做:

 List<UsuarioValido> rs = q.list();

我认为这是最好的方法而不是容易出错。但请确保您使用的查询仅返回该类,而不是该类的字段或从count()avg()等获得的结果。

但是,由于您正在获取字段,因此无法使用该字段。

在Hibernate中,建议以特定类的List的形式恢复结果,而不是使用Select ...