AutoResultMap的问题

来源:互联网 发布:电子软件学校 编辑:程序博客网 时间:2024/06/02 09:58

近日开发中用到ibatis在使用的过程中出现了AutoResultMap的错误:

 

[问题描述]  如下面SQL,因为类似的表有一百多个,不想对每一个表都写SQL,就把要检索的字段定义

               到了另外一个表T_COLUM表中,然后从T_COLUM表中取出字段,表名,拼凑出下面的

               SQL,FnValueBean是一个公用的Bean,对于不同的表,每次检索出来的项目个数都是不

               一样的,如A表检索,要检索5个字段,而B表检索,只要检索3个字段,这样就出现了   

       AutoResultMap的错误.       

 


 

[分析原因]  在[statement][select][procedure]标签中存在一个可选的属性[remapResults ],默认值是false,为

                    了避免经常的对返回的结果进行内省,iBATIS 会记录上一次查询结果的元数据, iBATIS 会

                    在每次查询的时候内省查询结果来设置元数据,来保证返回恰当的结果。

[解决方案]  remapResults 的属性设置为true