NutzCN Logo
分享 Record 转换实体大小写问题
发布于 2924天前 作者 qq_a6923084 3674 次浏览 复制 上一个帖子 下一个帖子
标签:

需求:查询出Record 后直接转换成相应的实体。
问题:调用Record的toPojo发现仅有小写字段正常。
原因:Record 默认set后key小写,toPojo调用了Lang.map2Object的。导致找不到非小写部分字段。
解决办法:Lang.map2Object(row,XX.class)即可,原因是Record复写了containsKey
eg:

List<Record> rows = s.getList(Record.class);
for(Record row : rows){
       XX  e = row.toPojo(row,XX.class);
// 此方式转换,仅小写正常
      System.out.println("e::" + Json.toJson(e));
      e = Lang.map2Object(row,XX.class);
// 正常OK
      System.out.println("e::" + Json.toJson(e));
}
3 回复

如果是自定义SQL的话,用Sqls.callback.map()回调就好了

@wendal 但是又想用Record 里的 getInt....之类的方法,Sqls.callback.map()回调返回的是正常的HashMap吧。

@qq_a6923084 哦(´-ω-`)

添加回复
请先登陆
回到顶部