Pregunta

He Login tabla que tiene juego de caracteres UTF-8 UTF-8 y el cotejo cuando quiero comprobar el nombre de usuario y recuperar otra información para este nombre de usuario específico de la consulta HQL dame el mismo resultado con letras minúsculas y mayúsculas. lo que debe hacer por mi consulta HQL que trabajan caso sesitive Utilizo MySQL 5 y Java hibernarte

Este es mi consulta:

return queryManager.executeQueryUniqueResult("select b.login from BranchEntity b where b.userName = ?", username);
¿Fue útil?

Solución

La forma más fácil es cambiar la definición de la columna a utilizar el cotejo entre mayúsculas y minúsculas como utf8_bin.

aquí

Otros consejos

Añadir clase

public class CollateDialect extends MySQLDialect {
    @Override
    public String getTableTypeString() {
        return " COLLATE utf8_bin";
    }
}

y utilizarlo:

cfg.setProperty("hibernate.dialect", "org.kriyak.hbm.CollateDialect");

esto hará que entre mayúsculas y minúsculas todas las consultas que hace mucho más SENCE.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top