SQl无效列错误。在sql developer中工作,在java中给出错误

时间:2011-02-08 21:56:19

标签: java sql hibernate oracle11g

运行此查询时:select emp.emp_name as "name" from emp order by name. 这从sqldeveloper运行良好。但是通过java,使用hibernate会话,这给出了一个sql:invalid column error. 为什么这种行为不同?
编辑:错误说无效列:NAME(大写)而不是名称。我会试试这个:

通过“name”

从emp命令中选择emp.emp_name作为“name”

2 个答案:

答案 0 :(得分:4)

名称“name”可能是保留关键字。 sql开发人员正在宽恕。尝试

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

或更好,只是不要使用保留关键字,甚至不使用可能保留关键字。

即使这不是问题(它可能不依赖于您的平台/ rdbms),您应该避免使用“type”,“DateTime”等列名,其唯一目的是代码可读性,保留字抛开冲突。

答案 1 :(得分:0)

请参阅我的编辑。它解决了这个问题。