Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2014, 22:12
rodrigoahv
 
Fecha de Ingreso: julio-2014
Mensajes: 1
Antigüedad: 9 años, 9 meses
Puntos: 0
Funcion upper con Hibernate

Que tal. Tengo la siguiente duda.
Estoy usando Hibernate con MySQL, tengo unos campos de nombres que tengo encriptados con AES, está como tipo de dato blob resulta que quiero que al hacer la consulta en un servlet no haga distinción entre mayúsculas y minúsculas. Uso la funcion upper() en la sentencia HQL pero no funciona cuando pongo la función upper, sin la funcion el codigo funciona bien, lo que significa que el mapeo de la clase tiene las propiedades de lectura y escritura con AES. Aqui el código que uso...

Código:
PrintWriter out = response.getWriter();
        String valorConsulta = request.getParameter("dato");
        valorConsulta = valorConsulta.toUpperCase();
        SessionFactory sesion = UtilHibernate.getSessionFactory();
        Session session = sesion.openSession();
        Transaction trans = session.beginTransaction();
        Query query = session.createQuery("FROM Adolescente registro where upper(registro.nombres) like ? "
                + "or upper(registro.apellidos) like ? or upper(registro.alias) like ?");
        query.setString(0, "%"+valorConsulta+"%");
        query.setString(1, "%"+valorConsulta+"%");
        query.setString(2, "%"+valorConsulta+"%");
        List<Adolescente> adolescentes = query.list();

Agradecería mucho su ayuda porque este problemita me tiene estresado