开发者社区> 问答> 正文

JFinal 对Sqlite的Bigint类型是有bug??报错

@JFinal 你好,想跟你请教个问题:

数据库用的Sqlite

其中qq号字段为bigint

比如其中有两行数据为

id    qq

1    123456789

2    1234567890

当用model.getInt("qq") 读取以上数据的时候,第一行能正常读取,第二行会报错,提示

java.lang.Long cannot be cast to java.lang.Integer

当用model.getLong("qq") 读取以上数据的时候,第二行能正常读取,第一行会报错,提示

java.lang.Integer cannot be cast to java.lang.Long


因为QQ最多有10位数字,所以不能用int要用long来存储

在Sqlite里面可以用bigint来存储long值

但是JFinal会报错,忘查证





展开
收起
爱吃鱼的程序员 2020-06-14 15:20:37 509 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    对了刚想了一下还是不要用text了我暂时override一下以后JFinal更新了我就不用去修改那么多东西了

    在对应实体类重写getLong方法即可...


    @OverridepublicLonggetLong(Stringparam){if(param.equals("qq")){returnLong.valueOf(get("qq").toString());}else{returnsuper.getLong(param);}}




    @JFinal 如果上面是BUG记得下次更新的时候修复一下噢 谢谢了我在数据库暂时用text代替在程序里再把text转成long

    引用来自“本人纯属虚构”的评论

    @JFinal 如果上面是BUG记得下次更新的时候修复一下噢 谢谢了我在数据库暂时用text代替在程序里再把text转成long

    引用来自“本人纯属虚构”的评论

    @JFinal 如果上面是BUG记得下次更新的时候修复一下噢 谢谢了我在数据库暂时用text代替在程序里再把text转成long
    2020-06-14 15:20:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
微信SQLite数据库损坏恢复实践 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载