Problema con mayúsculas y minúsculas usando MySql Springdata e Hibernate

Tengo una base de datos que contiene una tabla de asignación. La tabla se ve así:

ID | CHARACTER_ASS | TYPE_ASS

Dentro de la columna de caracteres se almacenan letras y números. Es decir. 'A', 'a', "Aa". "AA", 1, etc. Ahora cuando ejecuto la siguiente consulta en mi consola de consulta:

select * from assignment a where a.CHARACTER_ASS = 'A'

Devolverá la entrada en minúscula en mi base de datos y la entrada en mayúscula también. Ahora he estado buscando una respuesta a esta pregunta y alguien me dijo que podría ser porque estoy ejecutando en un sistema operativo Windows. He buscado esto y solo pude encontrar que podría haber un problema al nombrar nombres de tablas con / sin minúsculas (?).

Uno de los otros problemas es que estoy usando datos de primavera. En los datos de primavera no tengo control directo de la consulta, así que me pregunto si hay una solución específica para los datos de primavera.

Me gustaría escuchar sus respuestas sobre este problema :)

Gracias por adelantado

EDITAR

Mi asignación de SHOW CREATE TABLE:

CREATE TABLE `assignment` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `CHARACTER_ASS` varchar(45) NOT NULL,
  `TYPE_ASS` int(11) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8

EDIT2

Cambié la Clasificación de la tabla de asignación a: latin1_general_cs e intenté realizar consultas manualmente en el editor de consultas MySql, pero todavía obtengo A y un resultado como resultado. Luego intenté ajustar la clasificación de la tabla al mismo valor que hice con la tabla. ¿Estoy haciendo algo mal o debería funcionar el ajuste?

EDITAR3

Ok, acabo de arreglarlo. En lugar de usar latin1_general_cs, utilicé utf8_bin. Parece que utf8 no tiene una clasificación sensible a mayúsculas y minúsculas :) ¡Gracias JB Nizet por señalarme en la dirección correcta!

Respuesta 1

Especifique una intercalación entre mayúsculas y minúsculas cuando cree la tabla:

CREATE TABLE assignment (
    ID int(11) NOT NULL AUTO_INCREMENT,
    CHARACTER_ASS varchar(45) NOT NULL,
    TYPE_ASS int(11) NOT NULL,
    PRIMARY KEY (ID)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8, COLLATE=latin1_general_cs

Tenga en cuenta que la clasificación predeterminada también se puede establecer globalmente, en el nivel de la base de datos: http://dev.mysql.com/doc/refman/5.0/en/charset-database.html

Respuesta: 2

Actualmente estoy desarrollando un formulario en salesforce.com usando un formulario apex con una extensión personalizada. El formulario en sí está diseñado para reservar recorridos que tienen un número máximo de espacios. Cuando se envía el formulario, ...

No estoy seguro exactamente qué tipo de diseño estoy buscando, pero básicamente tenemos un montón de llamadas API y alguna combinación de ellas cumple una tarea, por lo que una tarea puede ser 1 llamada API o más llamadas API. Quiero ...

Tengo un modelo EMF grande, más específicamente un modelo BPMN2.0 del proyecto MDT. Hay un requisito para nuestro software, que debemos admitir el formato de exportación Oracle JDeveloper BPMN2, que es casi ...

Crearé un ServletFilter que alterará la forma en que se procesan las solicitudes HTTP. ServletFilter tomará esas decisiones en función del estado de los datos en la base de datos. Preferiría que no ...