使用dao.findBySql查询一个字段时报错:java.math.BigDecimal cannot be cast to [Ljava.lang.Object
Dao dao=getDao(getDataSourceMapping);
String sql="select famount from t_product where fcode=? and fdeleted=?";
List<Object> paramList=new ArrayList<Object>();
paramList.add("waterMelon");
paramList.add(0);
List<Object[]> resultList=dao.findBySql(sql,paramList.toArray());
乍一看代码逻辑没问题,但是执行却报错:java.math.BigDecimal cannot be cast to [Ljava.lang.Object,原因是查询到的一个字段不被认为是一个list结果,至于内核的原因,暂时不太清楚,目前解决方法,要么增加一个查询字段,如fid,然后遍历结合的时候只获取第二个元素.
如果有更好的方案或者知道这个问题的症结所在,欢迎留言或评论.感谢各位大牛阅读与赐教!