получение данных проблема с MYSQL под Linux - PullRequest
3 голосов
/ 21 марта 2010

Недавно я начал использовать Linux (Ubuntu 9.10) вместо Windows.Я работаю над Java-приложением для Spring, MYSQL для jpa.Однако перед установкой linux я сделал файл резервной копии из базы данных, затем установил linux, установил инструменты MYSQL Query Browser и Administrator и с помощью инструмента Admin восстановил файл резервной копии, затем получил все таблицы и сделал простой оператор выбора изодна из таблиц и получила результат нормально, и все, кажется, работает нормально.

Есть таблица USER, и есть namedQuery, определенный для получения пользователя по userName, проблема в том, что когда я передаю правильное имя пользователявсе равно ничего не получите!

Я действительно не знаю, в чем проблема!Приложение отлично работало под windows!

Пожалуйста, кто-нибудь может мне помочь решить эту проблему?

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 21 марта 2010

Первое, что приходит на ум, - это то, что имена таблиц MySQL чувствительны к регистру в Linux, но не в Windows. то есть это могло бы работать на Windows:

SELECT ... FROM User ...

но в Linux вам нужно использовать правильный регистр для имени таблицы:

SELECT ... FROM USER ...

но без дополнительной информации действительно сложно сказать.

1 голос
/ 21 марта 2010

Есть некоторые настройки, которые имеют разные значения по умолчанию в Windows и Linux, одним из которых является чувствительность к регистру имен таблиц и т. Д.Возможно, для неуказанного параметра по умолчанию установлено одно значение в Windows, а в Linux - другое.

0 голосов
/ 23 марта 2010

С вами все в порядке, и в моем случае я выяснил, почему я не смог войти в систему, указав имя пользователя! Проблема в том, что когда я восстанавливаю схему из файла резервной копии, все таблицы создаются с именами в нижнем регистре, например, таблица USER будет user, затем .. Когда я загружаю tomcat, JPA автоматически создает все @Entity, поэтому создает пользовательские таблицы для @Entity User, в результате у меня есть две таблицы для USER, пользовательская таблица со всеми данными и пустой User таблица, и это тот, который используется приложением! Вот почему мне не удалось получить какие-либо данные, потому что на самом деле нет данных для извлечения из таблицы.

Обходной путь для решения этой проблемы Я изменил файл резервной копии, переименовав все таблицы в соответствии с ожиданиями JPA, чтобы избежать их повторного создания при загрузке приложения.

Я действительно не знаю, есть ли лучшее решение, но оно работало так для меня.

Наконец, большое спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...