在使用params().set(key,value)赋值的时候,偶尔会出现赋值不成功情况,出现的概率不高。但是跟踪不到原因,跟踪到set()方法的底层,可以获取到值,执行sql抛错。使用nutz一年半了,出现过两次这种情况,每次都折腾好久,之前一次是在本机出现,这次直接在内网环境暴露出来,过段时间莫名其妙的就好了。这种情况有点危险,如果在正式环境出现,那就是灾难了。所以请教下此问题有解没
6 回复
1.50版本
我的代码
Sql sql = roomDao.sqls().create("room.roomInfoList.broadLive");
sql.params().set("type", type);
sql.setCallback(Sqls.callback.maps());
roomDao.execute(sql);
return sql.getList(BrocastModel.class);
源代码:
public void addBatch() {
lastRow = new SimpleVarSet();
rows.add(lastRow);
}
public void clearBatch() {
rows.clear();
addBatch();
}
public Sql setCallback(SqlCallback callback) {
this.callback = callback;
return this;
}
经过多次跟踪发现,出现赋值失败的时候,rows为空,没有找到什么时候rows清空的。在sql.params().set("type", type);时候是可以成功的,但是在sql.setCallback(Sqls.callback.maps());进入
public Sql setCallback(SqlCallback callback) {
this.callback = callback;
return this;
}
方法是,rows已经被清空
添加回复
请先登陆