Проблема с JPA, EclipseLink и чувствительным к регистру mysql - PullRequest
5 голосов
/ 12 сентября 2011

Мое приложение работает нормально в среде Windows, но когда я пытаюсь провести тестирование на сервере Linux, у меня возникает проблема с созданным JPA EclipseLink sql. Я создал все свои таблицы в нижнем регистре, но когда я смотрю в журналах, я вижу что-то подобное, все в верхнем регистре:

INSERT INTO PFC(ID, ALUMN,PROPOSED_ID) VALUES (?, ?, ?)

смешано с другими подобными (последовательностями) в нижнем регистре:

INSERT INTO buzonmensajes (mensajeid, buzonid) VALUES (?, ?)
        bind => [27, 1]

и, конечно, все идет не так, сервер не нашел заглавные таблицы и т. Д.

Мы используем orm.xml, чтобы определить все действия базы данных (запросы, сущности и т. Д.) И все, что написано в нижнем регистре ...

Я знаю, что есть параметр Mysql, чтобы изменить это поведение, но, к сожалению, я не могу его изменить. Моя проблема в том, что мне нужно сообщить JPA, чтобы создать все запросы и вставить статметы с именем таблицы в нижнем регистре

1 Ответ

5 голосов
/ 12 сентября 2011

Вероятно, проблема возникает из-за того, что вы разрешаете EclipseLink использовать некоторые имена по умолчанию.Если вы указываете имена, используя регистр базы данных, EclipseLink должен использовать эти регистры по умолчанию.

Если вы обнаружите, что это не работает, вы всегда можете принудительно применить регистр, используя идентификаторы с разделителями, используя шаблон '\ "': @Table("\"pfc\"") но это не обязательно.

Какую версию EclipseLink вы используете?

...