运行此查询时: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”答案 0 :(得分:4)
名称“name”可能是保留关键字。 sql开发人员正在宽恕。尝试
select emp.emp_name as [name] from emp order by [name]
或更好,只是不要使用保留关键字,甚至不使用可能保留关键字。
即使这不是问题(它可能不依赖于您的平台/ rdbms),您应该避免使用“type”,“DateTime”等列名,其唯一目的是代码可读性,保留字抛开冲突。
答案 1 :(得分:0)
请参阅我的编辑。它解决了这个问题。