记一次特殊的未明确定义列异常
前提:最近新开发一个开放平台管理系统,想偷懒套用之前的框架,但由于之前用的数据库是mysql,而现在是oracle,需要做一些兼容,自己动手调整了一些地方,包括数据查询的分页,问题就出现在这个分页上面了。
自动拼装分页sql,结果出现了一个问题,拼装后的sql出现ORA-00918
初步分析:有未定义在数据库中的字段写在sql里面了,但是发现把中间的核心sql拿出来是可以运行的!!!
然后把查询sql的字段换成*,拼装后的sql可以运行,看来问题果然还是出现在字段上了。
然后把字段一个一个放进去试,最终发现是有一个字段重复了(实例类中的字段和父类中有相同的字段,框架把两个字段分别解析在了sql中)所以在单独运行核心sql的时候不会出现问题,因为你可以多次展示同一个字段,但是在嵌套中不可以(ta不知道这个重复字段是哪个表的,即使只有一张表!!!)
然后删掉重复字段,好了,完结,撒花。