Foros del Web » Programación para mayores de 30 ;) » Java »

Funcion upper con Hibernate

Estas en el tema de Funcion upper con Hibernate en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 18/07/2014, 22:12
 
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

Etiquetas: hibernate, mysql, servlet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:30.