iBatis查询时报“列名无效”无列名的错误原因及解决方法

iBatis会自动缓存每条查询语句的列名映射,对于动态查询字段或分页查询等queryForPage, queryForList ,

就可能产生“列名无效”、rs.getObject(object)异常错误

 

解决办法:

在SQL语句上加一个属性(remapResults)配置让每次执行都重新映射列名。

注:仅在可能被queryForPage()和queryForList()都调用、或者动态字段的SQL语句上加此属性。(以牺牲性能为代价,损耗很小很小)。

如下所示:

<select id="queryPartyRole" parameterClass="long" resultClass="java.util.HashMap" remapResults="true">
</select>

 

posted @ 2011-07-12 16:12  blueKnight  Views(7270)  Comments(1Edit  收藏  举报