我的mysql数据库中有两个类型为[integer]的字段 这是我的sql
从表
中选择a * b作为c问题是我应该在我的模型中使用字段[c]
设置的数据类型是什么我尝试用[integer] [long] [String]设置类型,所有发布错误消息"参数类型不匹配"。 非常感谢
代码的一部分:
String hql = " SELECT deviceid,"+ " MAX(CASE cashboxname WHEN 'cash1' THEN cbVal*cbCnt ELSE 0 END) as cashboxonebal,"
List<DeviceInfo> devBalanceList = super.listBySql(hql,paraList.toArray(),DeviceInfo.class,false);
public <N extends Object>List<N> listBySql(String sql,Object[] args,Map<String,Object> alias,Class<?> clz,boolean hasEntity){
sql = this.initSort(sql);
SQLQuery sqlQuery = this.getSession().createSQLQuery(sql);
this.setAliasParameter(sqlQuery, alias);
this.setParameter(sqlQuery, args);
if(hasEntity){
sqlQuery.addEntity(clz);
}else{
sqlQuery.setResultTransformer(Transformers.aliasToBean(clz));
}
return sqlQuery.list();
}
java class
@Transient
private BigDecimal cashboxonebal;
答案 0 :(得分:0)
解决!!! 首先,修改sql到[从表中选择casta * b作为c] 然后在java类中使用bigdecimal 多数民众赞成的工作