java.sql.SQLException: Unknown type '246 in column 4 of 11 in binary-encoded result set.

本文探讨了在使用Spring和Hibernate项目中遇到的MySQL5.0 decimal类型与MySQL-Connector-Java版本不兼容导致的246错误,分析了问题原因并提供了解决方案,即升级到特定版本的MySQL-Connector-Java来避免此bug。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当Mysql 5.0表数据类型设计为DECIMAL时,在spring,hibernate项目运行会出现246错误: 
Unknown type '246 in column 4 of 11 in binary-encoded result set.; nested exception is java.sql.SQLException: Unknown type '246 in column 4 of 11 in binary-encoded result set. 

刚开始还以为是程序有问题,后来才知道MYSQL5在decimal 类型有BUG,解决方法是更改数据类型。

java.sql.SQLException: Unknown type '246 in column 0 of 1 in binary-encoded result set这个异常容易出现在对Bigint字段的操作上。使用的mysql-connector-java-3.1.7-bin.jar,是属于mysql的一个bug。

解决办法:使用mysql-connector-java-3.0.17-bin.jar就没有问题了,而且目前好象只有这个版本无此bug。

另外:在mysql-connector-java-3.1.7-bin.jar下

session.createSQLQuery("select sum(bigintField) from tableName").uniqueResult() 返回BigInteger

类型的对象。

在mysql-connector-java-3.0.17-bin.jar下

session.createSQLQuery("select sum(bigintField) from tableName").uniqueResult() 返回String

类型的对象。

转载于:https://www.cnblogs.com/means-sisy/p/3666735.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值