JFinal 对Sqlite的Bigint类型是有bug?

发布于 2021-11-28 19:30:48 字数 719 浏览 964 评论 4

@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会报错,忘查证





如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

惜醉颜 2021-12-01 03:09:04

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


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

臻嫒无言 2021-11-30 23:19:01

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


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

伴我心暖 2021-11-30 20:52:21


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

睫毛上残留的泪 2021-11-30 03:21:15

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

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

@Override
	public Long getLong(String param) {
		if (param.equals("qq")) {
			return Long.valueOf(get("qq").toString());
		} else {
			return super.getLong(param);
		}
	}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文