JPA EntityManager найти с чувствительным к регистру ключом - PullRequest
8 голосов
/ 28 января 2009

Я пытаюсь использовать метод поиска () JPA EntityManager. Мой первичный ключ - это строка, которая соответствует имени пользователя.

Я использую JPA / Hibernate / MYSQL.

Моя проблема заключается в том, что поиск пользователя 'David' сопоставляет пользователя 'david' из-за, я полагаю, совпадения строк без учета регистра в базовом MYSQL. Это вызывает у меня кучу проблем !!

Кто-нибудь имеет элегантное решение для этого? Я мог бы сделать собственный вызов SQL и использовать оператор BINARY, как описано здесь: http://dev.mysql.com/doc/refman/5.0/en/charset-binary-op.html

Кто-нибудь получил лучшее решение? Та.

Ответы [ 2 ]

3 голосов
/ 04 октября 2011

Была похожая проблема . Вы должны установить параметры сортировки таблицы или всей базы данных с учетом регистра.

См: Справочное руководство 12.1.10 CREATE DATABASE SYNTAX и 9.1.3.2. Набор символов базы данных и сопоставление

3 голосов
/ 28 января 2009

Можете ли вы изменить тип столбца таким образом, чтобы он не учитывал регистр? Руководство по MySQL содержит информацию о том, как это сделать.

Это более или менее то, что вы нашли с помощью оператора BINARY, но оно применяется к типу столбца, а не при запуске SELECT

...