У меня есть база данных, которая содержит таблицу присваивания. Таблица выглядит так:Проблема с прописными и строчными буквами с использованием MySql Springdata и Hibernate
ID | CHARACTER_ASS | TYPE_ASS
Внутри символьного столбца хранятся буквы и цифры. То есть. «A», «a», «Aa». «AA», 1 и т.д. ... Теперь, когда я выполнить следующий запрос в моей консоли запроса:
select * from assignment a where a.CHARACTER_ASS = 'A'
Она возвращает строчную запись в моей базе данных и заглавной записи, а также. Теперь я искал ответ на этот вопрос, и кто-то сказал мне, что это может быть, потому что я работаю на ОС Windows. Я просмотрел это и мог только обнаружить, что может возникнуть проблема с именами имен имен с/без строчной буквы (?).
Одна из других проблем заключается в том, что я использую данные весны. В весенних данных я не имею прямого контроля над запросом, поэтому мне интересно, существует ли конкретное исправление для данных весны.
Я хотел бы услышать ваши ответы относительно этого вопроса :)
Заранее спасибо
EDIT
My 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
Я изменил таблицу присваивания Collation на: latin1_general_cs, и я попытался выполнить запрос вручную в редакторе запросов MySql, но я все равно получаю A и обратно. Затем я попытался настроить сортировку таблицы так же, как и в таблице. Я делаю что-то неправильно или должна работать настройка?
EDIT3
Хорошо я просто fixxed его. Вместо использования latin1_general_cs я использовал utf8_bin. Кажется, что utf8 не имеет чувствительной к регистру сортировки :) Спасибо JB Nizet за то, что указали мне в правильном направлении!
Вот первый результат я получаю, когда googling для «mysql case-sensitive»: http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html –
Я также нашел это, но это не поможет мне вызвать springdata. У меня нет подсказки для использования COLLATE с springdata. –
Не используйте сортировку. Настройте таблицу для использования двоичной сортировки. –