SQl неверная ошибка столбца. работает в sql developer, выдает ошибку в java - PullRequest
0 голосов
/ 09 февраля 2011

Когда я запускаю этот запрос: select emp.emp_name as "name" from emp order by name. Это прекрасно работает с sqldeveloper. Но через Java, используя сеанс гибернации, это дает sql: invalid column error. Почему эта разница в поведении?
РЕДАКТИРОВАТЬ: Ошибка говорит неверный столбец: ИМЯ (в верхнем регистре), а не имя. Я попробую это:

выберите emp.emp_name в качестве "имени" из порядка emp по "имени"

Ответы [ 2 ]

4 голосов
/ 09 февраля 2011

Имя "имя", вероятно, является зарезервированным ключевым словом.SQL разработчик прощает.Попробуйте

select emp.emp_name as [name] from emp order by [name]

или еще лучше, просто не используйте зарезервированное ключевое слово или даже возможно зарезервированное ключевое слово.

Даже если это не проблема (которая может не зависеть от вашей платформы / rdbms), вам следует избегать имен столбцов, таких как «type», «DateTime» и т. Д., Исключительно для удобства чтения кода, зарезервированные слова конфликтуют в стороне.

0 голосов
/ 09 февраля 2011

Пожалуйста, смотрите мой РЕДАКТИРОВАТЬ.Это решило проблему.

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